解决wx.previewImage iOS 13.4预览base64图片 会导致微信闪退的问题

思路:把base64存为本地图片,然后预览本地图片的url
下面是代码:
base64src.js 文件

const FILE_BASE_NAME = 'tmp_base64src'; //自定义文件名

function base64src(base64data, cb) {
  const [, format, bodyData] = /data:image\/(\w+);base64,(.*)/.exec(base64data) || [];
  if (!format) {
    return (new Error('ERROR_BASE64SRC_PARSE'));
  }
  const filePath = `${wx.env.USER_DATA_PATH}/${FILE_BASE_NAME}.${format}`;
  const buffer = wx.base64ToArrayBuffer(bodyData);
  const fsm = wx.getFileSystemManager();
  fsm.writeFile({
    filePath,
    data: buffer,
    encoding: 'binary',
    success() {
      cb(filePath);
    },
    fail() {
      return (new Error('ERROR_BASE64SRC_WRITE'));
    },
  });
};

export { base64src };

调用

base64src(base64, res => {
      console.log(res) // 返回图片地址,直接赋值到image标签即可
      wx.previewImage({
        current: res, 
        urls: [res]
      })
    });

参考:https://www.jianshu.com/p/95fd7ede9f35

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 13,984评论 0 15
  • 风很小。我不喜欢。我能感受到一根根腿毛软塌塌地覆在腿上,燥热。 我在世界边缘行走了许久,归者未归,来者已逝。这天地...
    麦加沙耶夫阅读 216评论 0 0
  • 看着电脑上保存的资料,有几十个G,守着这么多财富,却依然没有收取的欲望,难道精神出现了问题?从焦虑变抑郁?身体依然...
    春日暖阳心怀梦想阅读 142评论 0 0
  • 追一个女孩很久了, 今天终于成功了, 女孩问我什么感觉, 我说觉得有点不敢相信, 她说:傻瓜,不信你捏自己脸, 我...
    永远在路上的少年阅读 237评论 0 11
  • 文/不像90的小生 01 人们总说,气质非凡的女生,就像一杯飘香的浓茶,淡淡清香,让你闻后回味无穷。 在我印象中,...
    九零小声阅读 3,768评论 70 152