微信小程序-拍照或選擇圖片并上傳文件
調用拍照API:https://mp.weixin.qq.com/debug/wxadoc/dev/api/media-picture.html?t=20161222#wxchooseimageobject
上傳文件API:https://mp.weixin.qq.com/debug/wxadoc/dev/api/network-file.html
主要js代碼:
choice: function () { var that = this wx.chooseImage({ count: 1, // 默認9 sizeType: ['original', 'compressed'], // 可以指定是原圖還是壓縮圖,默認二者都有 sourceType: ['album', 'camera'], // 可以指定來源是相冊還是相機,默認二者都有 success: function (res) { // 返回選定照片的本地文件路徑列表,tempFilePath可以作為img標簽的src屬性顯示圖片 var tempFilePaths = res.tempFilePaths that.setData({ textHidden: true, image_photo: tempFilePaths, photoHidden: false }) } }) }, uploadPhoto: function () { var that = this let param = util.json2Form({ tel: '18600346580', orderSn: that.data.orderSn, parkingPhoto: that.data.image_photo, }); wx.uploadFile({ url: 'https://testapi.****.com/v4.0.0/uploadParkingPhoto', //僅為示例 filePath: that.data.image_photo[0], name: 'parkingPhoto', formData: { 'tel': '***********', 'orderSn': that.data.orderSn, }, success: function (res) { var obj = JSON.parse(res.data);; console.log(obj.result) console.log(obj.msg) var resule = obj.result; var msg = obj.msg; if (resule == 'false') { wx.showToast({ title: msg, icon: 'success', duration: 2000 }) } else { wx.navigateBack({ delta: 1, success: function (res) { wx.showToast({ title: msg, icon: 'success', duration: 2000 }) }, }) } } }) } Tip:
1.調用wx.chooseImage() 自動彈出選擇窗口,不用調用操作菜單wx.showActionSheet(),否則重復
如圖

2. 上傳文件的時候filePath必須是數組,當你單張的時候需要使用數組,若只有一張要用[0]
3. 最需要注意的是,success返回數據是String類型,我們需要將String類型轉換成Object

js字符串轉換成obj
用js 是有三種方法的
但是在微信小程序中,我們只能用JSON.parse(str),其他的都不可以
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答