收藏
回答

安卓下 compressImage 接口压缩多张图片经常失败

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.compressImage 微信安卓客户端 7.0.7.1521 2.8.3

如题,压缩多张图片(测试时用了 5 张),有时成功,但也经常失败。下面时失败时截图:



在多部机型下都有复现,压缩代码:

const compressImage = function(srcs = [], quality = 10) {
  console.log(srcs, quality)
  if (!wx.compressImage) {
    // 不支持压缩
    return Promise.resolve(
      srcs.map(src => {
        return {src, origin: src}
      })
    )
  }
  let promises = srcs.map(src => {
    return new Promise((resolve, reject) => {
      wx.compressImage({
        src,
        quality,
        success: res => {
          console.log(res)
          resolve({src: res.tempFilePath, origin: src})
        },
        fail: err => {
          if (wx.getSystemInfoSync().platform === 'devtools') {
            // 开发工具上不存在压缩接口,直接返回原图
            resolve({src, origin: src})
          } else {
            reject(new Error(err))
          }
        },
      })
    })
  })
  return Promise.all(promises)
}


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

1 个回答

登录 后发表内容
问题标签