美文网首页
解决wx.previewImage iOS 13.4预览base

解决wx.previewImage iOS 13.4预览base

作者: lechenging | 来源:发表于2020-04-24 10:40 被阅读0次

    思路:把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

    相关文章

      网友评论

          本文标题:解决wx.previewImage iOS 13.4预览base

          本文链接:https://www.haomeiwen.com/subject/vnuxwhtx.html