let that = this;
wx.chooseImage({
success: function (res) {
var tempFilePaths = res.tempFilePaths
console.log(tempFilePaths[0])
let canvas = wx.createCanvasContext('myCanvas')
canvas.drawImage(tempFilePaths[0], 0, 0, 75, 75)
canvas.draw()
wx.canvasGetImageData({
canvasId: 'myCanvas',
x: 0,
y: 0,
width: 75,
height: 75,
success (res) {
console.log(":res", res)
let pngData = upng.encode([res.tempFilePaths[0]], 75, 75)
let base64 = wx.arrayBufferToBase64(pngData)
console.log("=---", base64)
}
})
wx.setStorageSync('addImg', tempFilePaths[0])
that.setData({
addImg: tempFilePaths[0]
})
})
}
})
|
我怎么转不成功呀
wx.arrayBufferToBase64(pngData) ,提交后端代码怎么接受
怎么转的啊?我这怎么转都是一片空白啊???
官方真应该出一个这样的api,现在用的第三方插件(upng.js),不知道为啥在转base64 会有一定的概率会出现空白,没有出现的时候,有很大的概率出现,出现一次之后,往后基本就不会出现,很莫名其妙
出现空白的原因可能是: 转 base64 没有放在 canvas.draw()的回调里进行
确实是在 canvas.draw() 的success的回调中,所以才会觉得莫名其妙
微信上传图片了解一下
我为何转不成功
为什么要转啊,直接上传不就可以了