收藏
回答

小程序将图片base保存到本地路径,电脑端不支持吗?

调试基础库为:2.10.4,PC微信版本为最新版,

是这样的,服务端生成的小程序二维码,返回图片的base(因为网站需要调用,目前暂时这样处理);

小程序端

const [, format, bodyData] = /data:image\/(\w+);base64,(.*)/.exec(res.data.base) || [];
          if (!format) {
            return (new Error('ERROR_BASE64SRC_PARSE'));
          }
          const buffer = wx.base64ToArrayBuffer(bodyData);
          let filePath = wx.env.USER_DATA_PATH + '/' + Date.parse(new Date) + '_buffer2file.' + format;
          let fileManager = wx.getFileSystemManager();
          fileManager.writeFile({
            filePath: filePath,
            encoding'binary',
            data: buffer,
            success(res) {}
                     })
这样处理没问题,但在PC端微信小程序里就有问题了,我看了一下他将图片保存在了usr/目录下,但却说文件格式损坏或不支持,手机端我看了
图片文件是支持打开的,没有任何错误,这是为什么呢?
回答关注问题邀请回答
收藏

1 个回答

  • 灵芝
    灵芝
    2020-06-13

    你好,麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2020-06-13
    有用
    回复 4
    • TM
      TM
      2020-06-13
      https://developers.weixin.qq.com/s/56HB24mP7DiZ  在IDE都可以的,就是PC端微信,运行不能
      2020-06-13
      回复
    • TM
      TM
      2020-06-13
      PC端生成的图片变成了这样,0字节,用的是fileManager.writeFile这个api
      2020-06-13
      回复
    • 灵芝
      灵芝
      2020-06-15回复TM
      问题已知,我们后续版本修复,目前可以先不要把encoding设置为binary规避
      2020-06-15
      回复
    • TM
      TM
      2020-06-20
      OK,我以为是我写法的问题,不设置能直接图片的buffer转本地文件?
      2020-06-20
      回复
登录 后发表内容
问题标签