微信小程序录音后上传文件

时间:2021-07-18 16:44:16
  startRecode:function(){
var s = this;
console.log("start");
wx.startRecord({
success: function (res) {
console.log(res);
var tempFilePath = res.tempFilePath;
s.setData({ recodePath: tempFilePath, isRecode:true});
},
fail: function (res) {
console.log("fail");
console.log(res);
//录音失败
}
});
},
endRecode:function(){//结束录音
var s = this;
console.log("end");
wx.stopRecord();
s.setData({ isRecode: false });


wx.showToast();
setTimeout(function () {
var urls = app.globalData.urls + "/Web/UpVoice";
console.log(s.data.recodePath);
wx.uploadFile({
url: urls,
filePath: s.data.recodePath,
name: 'file',
header: {
'content-type': 'multipart/form-data'
},
success: function (res) {
var str = res.data;
var data = JSON.parse(str);
if (data.states == 1) {
var cEditData = s.data.editData;
cEditData.recodeIdentity = data.identitys;
s.setData({ editData: cEditData });
}
else {
wx.showModal({
title: '提示',
content: data.message,
showCancel: false,
success: function (res) {

}
});
}
wx.hideToast();
},
fail: function (res) {
console.log(res);
wx.showModal({
title: '提示',
content: "网络请求失败,请确保网络是否正常",
showCancel: false,
success: function (res) {

}
});
wx.hideToast();
}
});
},1000)

}

页面代码:
<button type="primary" bindtouchstart="startRecode" bindtouchend="endRecode" class="cxbtn">按住录音(可选)</button>

总结:录音后要延迟加载,微信录音后生成文件需要一段时间,如果不延迟加载可能无法获取到文件名 提示:uploadFile:localid is empty