wx.previewImage
不支持base64格式预览图片,要实现预览base64的图片,需要用到解决办法:把base64作为临时文件存到本地,然后预览,预览结束时删除临时文件
Page({
data: {
//本机的临时文件路径
localTempImgUrl: ''
},
onShow: function() {
// 在这里删除临时文件
var localTempImgUrl = this.data.localTempImgUrl;
if(localTempImgUrl) {
var fs = wx.getFileSystemManager();
fs.unlinkSync(localTempImgUrl);
fs.closeSync;
}
},
//预览图片
onPreviewImage() {
var base64 = "data:image/PNG;base64," + this.data.base64;
var imgPath = wx.env.USER_DATA_PATH + '/photo' + Date.parse(new Date()) + '.png';
var imageData = base64.replace(/^data:image\/\w+;base64,/, "");
var fs = wx.getFileSystemManager();
fs.writeFileSync(imgPath, imageData, "base64");
fs.close;
this.setData({
localTempImgUrl: imgPath
})
wx.previewImage({
urls: [imgPath] // 需要预览的图片http链接列表
})
}
})