其实直接调用wx.uploadFile方法就可以了,下面以微信小程序内容安全接口HTTPS接口校验一张图片是否违规为例,参数为一张图片
最近被支付宝小程序内嵌H5无法上传图片折磨到没脾气,H5本身上传图片没问题,但是嵌套在小程序中就无法上传。
在调试过程中发现可能是formData参数无法传送给后台造成的,试了很多解决方法都不行,最后只能利用web view通信方法以及与支付宝API相结合来解决。
首先,在H5上传图片时调用my.chooseImage方法:
由于在H5中无法使用my.uploadFile方法,所以上传至后台 *** 作需要在支付宝小程序中进行
支付宝小程序接收到路径后,调用my.uploadFile方法进行图片上传
最后,在H5 my.onMessage函数中接收小程序传来的图片地址,进行页面渲染
第一步:获取七牛云token,这步 *** 作很简单,请求七牛云接口即可
getUpToken: function() {
var url = "resource/getUpToken"
var header = {
token : wx.getStorageSync("token")
}
var that = this
network.requestLoading(url,"",header,"",function(data){
console.log(data)
that.setData({
up_token : data.data
})
},function(){
})
},
第二步:利用upfile API上传文件
wx.uploadFile({
formData:{token:that.data.up_token}, //这里是请求头部分
url: 'url',
filePath: tempFilePaths[i],
name:"file",
success:function(data) {
var res = JSON.parse(data.data)
var image_keys = that.data.image_keys.concat(res.key)
}
})
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)