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的回调中,所以才会觉得莫名其妙
微信上传图片了解一下
我为何转不成功
为什么要转啊,直接上传不就可以了