1. 选择视频 (wx.chooseVideo()的使用方法)
官网链接地址: https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseVideo.html.
2. 上传视频大小限制处理
if (res.size > 1024 * 1024 * 10) {
wx.showToast({
title: "上传视频不能超过10M!",
icon: 'none',
})
}
3. 调用 wx.uploadFile(),将本地资源上传到服务器
官网链接地址: https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/wx.uploadFile.html.
4. 保存到数据库
以下是完整代码
// 上传视频
uploadVideo(){
var that=this
wx.chooseVideo({
sourceType: ['album','camera'],
maxDuration: 60,
compressed:true,
camera: 'back',
success(res) {
if (res.size > 1024 * 1024 * 10) {
wx.showToast({
title: "上传视频不能超过10M!",
icon: 'none',
})
return;
}else{
var duration=res.duration
that.setData({
isShowProgress:true
})
wx.showLoading({
title: '上传中...',
})
wx.uploadFile({
url:uploadAudio.uploadAudio,
filePath:res.tempFilePath,
name: 'file',
success(res) {
var filePath = JSON.parse(res.data).data[0]
var params = {
userId:that.data.userId,
url:filePath,
duration:duration,
type:3
}
postRecording(params).then(res=>{
wx.hideLoading()
wx.showToast({
title: '上传成功',
icon: 'success',
duration: 2000
})
that.setData({
isShowProgress:false
})
that.init()
})
}
})
}
},fail(){
this.setData({
isShowProgress:false
})
wx.hideLoading()
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 1000
})
}
})
},