微信小程序的录音、图片上传

思路:微信小程序中的录音文件存放地址是临时地址,所以发送给后台时是需要用wx.saveFile() 先下载到本地,地址变为本地地址,然后再上传给后台 。

录音上传

// 录音功能start() {// console.log(‘开始录音‘) const recorderManager = wx.getRecorderManager(); const options = { duration: 10000, sampleRate: 44100, numberOfChannels: 1, encodeBitRate: 192000, format: ‘mp3‘, frameSize: 50, audioSource: ‘auto‘ } // 开始录音 recorderManager.start(options)},// 录音结束send() {// console.log(‘录音结束‘) let that = this; const recorderManager = wx.getRecorderManager(); recorderManager.stop(); // 监听录音结束事件 recorderManager.onStop((res) => { wx.saveFile({ // 下载到本地 tempFilePath: res.tempFilePath, success(res2) { that.setData({ voice: res2.savedFilePath }) }, fail(error) { console.log(error) } }) const { tempFilePath } = res }) // 监听已录制完指定帧大小的文件事件。如果设置了 frameSize,则会回  调此事件 recorderManager.onFrameRecorded((res) => { const { frameBuffer } = res })}

图片上传

微信小程序的录音、图片上传
// 上传图片 imgUpload() { var that = this; wx.chooseImage({ sizeType: [‘original‘, ‘compressed‘], // 可选择原图或压缩后的图片 sourceType: [‘album‘, ‘camera‘], // 可选择性开放访问相册、相机 success: res => { var tempFilePaths = res.tempFilePaths; var imgs = that.data.images; for (var i = 0; i < tempFilePaths.length; i++) { if (imgs.length >= 9) { that.setData({ images: imgs }); return false; } else { imgs.push(tempFilePaths[i]); } } that.setData({ images: imgs }); } }) }

 

相关文章