1.首先在util文件中封装公共方法,此处需要使用回调函数
const host = 'xxxx';
function ajaxUploadImg(url,tempFilePaths,callback){
let headerConfig = {
'Content-Type': 'application/json'
}
wx.uploadFile({
url: host + url,
filePath: tempFilePaths,
name: 'file',
formData: {
file: tempFilePaths,
path: ''
},
header: headerConfig,
success(res) {
callback(res)
}
})
}
2.在各个页面调用此方法(url被封装在api.js文件中以供多次调用与统一修改)
//获取应用实例
const app = getApp()
const common = require("../../utils/util")
common.ajaxUploadImg(app.Api.image_upload,tempFilePaths,function(res){
const data = JSON.parse(res.data).data.url
console.log(data)
})
总结:虽然不知道为啥能用const并且不使用回调函数去封装wx.request来调用接口,却不能用同样的方法来封装wx.uploadFile,根据报错大致猜测是微信的API——wx.chooseImage强制性需要使用回调函数。