这篇文章不是跟大家发代码福利的哦,是关于一个近期遇到的一个关于微信小程序API调用的BUG。
具体就是最近在帮公司开发新的小程序的时候,小程序中有一个人保存图片的功能。第一反应反应就是wx.saveImageToPhotosAibum(),
官方文档
中对它简介就是保存图片到系统相册。
具体参数如下:
var that = this;
wx.getImageInfo({
src: String(img),
success: imgInfo => {
// w = res.width;
// h = res.height*0.3;
let {info} = this.data;
let convasX = imgInfo.width / 4;
let convasY = imgInfo.height / 5;
let canvasWidth = convasX * 3;
let canvasHeight = convasY * 3;
const context = wx.createCanvasContext('canvasOne')
context.setFillStyle('#ffffff')
context.fillRect(0, 0, 500, 600)
// context.drawImage(that.data.url, 0, 0, 130, 130 )
context.drawImage(that.data.photo_jietu,0,0,400,460);
context.setFontSize(10)
context.setFillStyle("#393939")
context.fillText(that.data.time, 0, 170)
context.setFontSize(10)
context.setFillStyle("#393939")
context.fillText('当前重量', 410, 170)
context.setFontSize(15)
context.setFillStyle("#393939")
context.setTextAlign('center')
context.fillText(that.data.newAddress, 10, 350,195)
context.setFontSize(10)
context.setFillStyle("#393939")
context.fillText(that.data.nowWeight, 410, 190)
// context.draw(true)
context.draw(false, function () {
wx.canvasToTempFilePath({
x: 0,
y: 0,
width: 460,
height: 470,
destWidth: that.data.moveViewWidth * that.data.scale,
destHeight: that.data.moveViewHeight * that.data.scale,
canvasId: 'canvasOne',
success: function (res) {
// that.data.showImage.url = res.tempFilePath
getApp().globalData.uurl = res.tempFilePath;
console.log("++++++++++++++++++++++++++++++++++++++++++++++++++++",res.tempFilePath);
console.log(res.tempFilePath);
wx.saveImageToPhotosAlbum({
filePath:imageUrl,
success(res) {
console.log(res)
},
fail(res) {
wx.hideLoading()
console.log("wx.saveImageToPhotosAlbum--fail res:",res)
}
})
},
fail(res) {
wx.hideLoading()
console.log("fail res:",res)
}
})
})
},
fail(res){
console.log(res);
}
})
(上述代码只是微信小程序相应功能代码中代码的一小部分,并不一定能单独运行不出错)
在为公司开发的微信小程序中运行相应的功能时,进入手机系统相册可以查看到相应的图片(内心还是十分开心的,毕竟完成一件新作品自己会感到非常大的成就感,这也是我喜欢编程的原因),但是下次登录傻眼了,并没有相应的图片,但是明明相册有图片,于是就用我的苹果手机测试也是一样,就找同事的手机测试,看看是不是机型的问题,结果都一样,看文档并没有相应的详情介绍,打印出返回值,发现并未有该图片返回路径。于是就得出的结论:将绘画好的图片保存到手机系统相册中,图片是保存到了手机相册中。但是成功方法返回的打印中并没有该图片的保存路径,而公司又要求以后登录要显示该图片并且可对其进行删除操作。
于是找朋友求教怎么获得其返回路径,都未果。同事找华为那边的技术员 也确认wx.saveImageToPhotosAlbum()保存图片没有给其返回路径。
所以说,现在小程序只是看似成熟,里面还有很多坑要大家去踩。并且希望微信小程序官方尽快更新修改大家踩过的坑。
版权声明:本文为qq_42754787原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。