var _this = this;
wx.chooseVideo({
sourceType: ['album', 'camera'],
maxDuration: 60,
camera: 'back',
success(res) {
const uploadTask = wx.uploadFile({
url: '', // 上传到服务器
filePath: res.tempFilePath,
name: 'file',
header: {
"Content-Type": "multipart/form-data"
},
formData: {
fileKey: fileKey
},
success(res) {
const data = JSON.parse(res.data);// 坑一:与wx.request不同,wx.uploadFile返回的是json字符串,需要自己转为JSON对象格式
console.log(data);
}
});
uploadTask.onProgressUpdate((res) => {
const uploadProgress = res.progress;
if(uploadProgress < 100){
// 坑2:wx.uploadFile本身有一个this,所以要通过外部var _this = this 把this带进来
_this.setData({
uploadPercent: uploadProgress
});
} else if(uploadProgress === 100){
_this.setData({
uploadPercent: 50
});
}
console.log('上传进度', res.progress);
console.log('已经上传的数据长度', res.totalBytesSent);
console.log('预期需要上传的数据总长度', res.totalBytesExpectedToSend)
});
}
})