微信小程序预览base64图片

2022-09-08 15:28:14 浏览数 (2)

wx.previewImage不支持base64格式预览图片,要实现预览base64的图片,需要用到解决办法:把base64作为临时文件存到本地,然后预览,预览结束时删除临时文件

代码语言:javascript复制
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链接列表
    })
  }
})

0 人点赞