收藏
回答

小程序使用图像处理扩展,持久化处理在PC端微信报错?

使用代码:

const fm = wx.getFileSystemManager();
        fm.readFile({
          filePath,
          success(readRes) {
            const fileContent = res.data;
            const opts = {
                      rules: [
                        {
                          // 处理结果的文件路径,如以’/’开头,则存入指定文件夹中,否则,存入原图文件存储的同目录
                          fileid: `/${cloudPath}`,
                          rule: 'imageView2/2/w/750/format/webp', // 处理样式参数,与下载时处理图像在url拼接的参数一致
                        },
                      ],
                    };
                  
                  
                    extCi.invoke({
                      action: 'ImageProcess',
                      cloudPath, // 图像在云存储中的路径,与tcb.uploadFile中一致
                      operations: opts,
                      fileContent,
                    }).then((res) => {
                      if (res.data && res.data.Error) {
                        onFail(res.data.Error);
                      } else {
                        onSuccess(res.data);
                      }
                    }).catch((err) => {
                      onFail(err);
                    });
                 },
        });


核心逻辑就是通过readFile获取文件的buffer,然后执行上传时持久化处理,在IDE、移动端微信都正常,在PC端微信会出现以下异常(且这个异常是在成功回调中返回一个Error对象,很不符合规范):

已经工单咨询了腾讯云,答复是PC端微信兼容问题

目前按照先上传到云存储,再做持久化处理的方案做了妥协,但是这样成本会比较高,期望官方人员尽快解决PC微信的兼容问题。

回答关注问题邀请回答
收藏

1 个回答

  • showms
    showms
    2023-02-21

    extCi.invoke 这个api是微信自己的还是第三方封装了一层

    2023-02-21
    有用
    回复
登录 后发表内容