微信小程序的录音图片上传
Posted 海里的鱼-L
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序的录音图片上传相关的知识,希望对你有一定的参考价值。
思路:微信小程序中的录音文件存放地址是临时地址,所以发送给后台时是需要用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 }); } }) }
以上是关于微信小程序的录音图片上传的主要内容,如果未能解决你的问题,请参考以下文章