小程序?qū)崿F(xiàn)上傳視頻功能
更新時間:2020年08月18日 11:18:37 作者:wild_guiqulaixi
這篇文章主要為大家詳細介紹了小程序?qū)崿F(xiàn)上傳視頻功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了小程序?qū)崿F(xiàn)上傳視頻功能的具體代碼,供大家參考,具體內(nèi)容如下
.js文件
// miniprogram/pages/message/messageForm/messageForm.js
Page({
/**
* 頁面的初始數(shù)據(jù)
*/
data: {
webServer: 'https://xxxx.xxx.com',
src: '',
webviewshow: 'hide',
webviewurl: '',
gid: "",
uid: '',
duration: '',
height: '',
size: '',
width: '',
ThumbPath: false,
videoshow: 'hide'
},
/**
* 生命周期函數(shù)--監(jiān)聽頁面加載
*/
onLoad: function (options) {
this.setData({
gid: options.gid,
uid: options.uid
})
},
chooseVideo: function () {
var that = this
wx.chooseVideo({
success: function (res) {
that.setData({
src: res.tempFilePath,
})
}
})
},
getLocalVideo: function () {
var that = this;
var session_key = wx.getStorageSync('session_key');
wx.chooseVideo({
maxDuration: 10,
success: function (res1) {
// 這個就是最終拍攝視頻的臨時路徑了
that.setData({
src: res1.tempFilePath,
duration: res1.duration,
height: res1.height,
size: res1.size,
width: res1.width,
videoshow: 'thumb'
})
wx.showToast({
title: '選擇成功',
icon: 'succes',
duration: 2000,
mask: true
})
},
fail: function () {
console.error("獲取本地視頻時出錯");
}
})
},
uploadvideo: function () {
var that = this;
wx.showLoading({
title: '上傳中',
})
var src = this.data.src;
if (src) {
that.setData({
ThumbPath: true
})
}
wx.uploadFile({
url: that.data.webServer + 'xxxxxx',//服務(wù)器接
formData: {
'uid': that.data.uid,
'gid': that.data.gid,
'duration': that.data.duration,
'height': that.data.height,
'size': that.data.size,
'width': that.data.width
},
method: 'POST',//這句話好像可以不用
filePath: src,
header: {
'content-type': 'multipart/form-data'
},
name: 'files',//服務(wù)器定義的Key值
success: function (e) {
wx.hideLoading();
if (typeof e.data != 'object') {
e.data = e.data.replace(/\ufeff/g, "");//重點
var data = JSON.parse(e.data);
if (data.status == 1) {
wx.showToast({
title: '上傳成功',
icon: 'succes',
duration: 1000,
mask: true
})
setTimeout(function () {
that.backHtml();
}, 1000)
} else if (data.status == 2) {
wx.showToast({
title: '文件過大',
icon: 'succes',
duration: 1000,
mask: true
})
}
}
},
fail: function () {
wx.showToast({
title: '上傳失敗',
icon: 'succes',
duration: 1000,
mask: true
})
}
})
},
backHtml: function () {
var that = this;
wx.reLaunch({
url: '/pages/index/index?gid=' + this.data.gid
})
},
/**
* 生命周期函數(shù)--監(jiān)聽頁面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函數(shù)--監(jiān)聽頁面顯示
*/
onShow: function () {
},
/**
* 生命周期函數(shù)--監(jiān)聽頁面隱藏
*/
onHide: function () {
},
/**
* 生命周期函數(shù)--監(jiān)聽頁面卸載
*/
onUnload: function () {
},
/**
* 頁面相關(guān)事件處理函數(shù)--監(jiān)聽用戶下拉動作
*/
onPullDownRefresh: function () {
},
/**
* 頁面上拉觸底事件的處理函數(shù)
*/
onReachBottom: function () {
},
/**
* 用戶點擊右上角分享
*/
onShareAppMessage: function () {
}
})
.wxml
<view class='contbox'>
<view class='thumbbox'>
<video class="{{videoshow}}" src="{{src}}"></video>
</view>
<!-- 提交 -->
<button bindtap='getLocalVideo' class="btn2" type="primary" form-type='submit'>選擇視頻</button>
<button type="default" class="btn2" bindtap="chooseVideo" bindtap='uploadvideo' type="warn" form-type='reset'>上傳視頻</button>
</view>
.wxss
.thumbbox {
display: flex;
justify-content: center;
align-items: center;
}

為大家推薦現(xiàn)在關(guān)注度比較高的微信小程序教程一篇:《微信小程序開發(fā)教程》小編為大家精心整理的,希望喜歡。
更多精彩內(nèi)容請參考專題《ajax上傳技術(shù)匯總》,《javascript文件上傳操作匯總》和《jQuery上傳操作匯總》進行學習。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
layui當點擊文本框時彈出選擇框,顯示選擇內(nèi)容的例子
今天小編就為大家分享一篇layui當點擊文本框時彈出選擇框,顯示選擇內(nèi)容的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
JS庫 Highlightjs 添加代碼行號的實現(xiàn)代碼
Highlightjs是一款優(yōu)秀的代碼高亮Js組件,可以很方便地對各種語言編寫的代碼添加語法高亮樣式。本文重點給大家介紹Highlightjs 添加代碼行號的實現(xiàn)代碼,需要的朋友參考下吧2017-09-09

