小程序使用图像处理扩展,持久化处理在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微信的兼容问题。