需求是用户手签,在合同下面显示出来,我在画布页面将图片上传服务器后,返回合同页面并在onshow内setData更新图片的src,出现图片变黑的问题,IOS真机与小程序模拟器没事,安卓真机出现黑配。
尝试过setTimeout()延迟2秒执行返回页面,延迟执行setData,都不行。
代码:
合同页面=》
xml:
<image src="{{flie}}" ></image>
js:
onShow: function () {
this.upLoadImg()
},
//更新手签
upLoadImg(){
var that = this
wx.getStorage({
key: 'UploadImg',
success (res) {
that.setData({
flie: res.data,
})
}
手签页面:
/**导出图片 */
export: function() {
const that=this;
this.data.context.draw(false, wx.canvasToTempFilePath({
x: 0,
y: 0,
width: that.data.width,
height: that.data.height,
destWidth: that.data.width,
destHeight: that.data.height,
fileType: 'jpg',
canvasId: 'firstCanvas',
success(res) {
var url = "https://shopapi.sdpulei.cn"
wx.uploadFile({
url: url + '/Home/UploadImg',
filePath: res.tempFilePath,
name: 'fileToUpload',
success(res) {
console.log(JSON.parse(res.data).Msg)
wx.setStorage({
key:"UploadImg",
data: JSON.parse(res.data).Msg,
success(res){
wx.navigateBack({
delta: 1,
})
}
})
},
fail(err) {
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
})
},
fail() {
wx.showToast({
title: '导出失败',
icon: 'none',
duration: 2000
})
}
}))
},
图片地址是https,跪求大佬~~
this.data.context.draw(false,()=>{ //.... })
里面应该是这样的吧 不知道你的页面内 图片到底生成了没有