收藏
回答

Canvas.createImage 重新设置相同图片路径,onload不重新执行

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug Canvas.createImage 微信iOS客户端 8.0.61 3.8.11
const saveImage = () => {
  const canvas = wx.createOffscreenCanvas({
    type: '2d',
    width: 500,
    height: 500  
  })  
  const ctx = canvas.getContext('2d')  
  const image = canvas.createImage()  
  await new Promise(resolve => {  
      image.src = "图片url 或 base64"  
      image.onload = resolve  
      image.onerror = function (err) {  
          logd('err', err)  
          resolve()  
      }  
  })  
  wx.canvasToTempFilePath({  
      canvas: canvas,  
      success: (res) => {  
          wx.saveImageToPhotosAlbum({  
              filePath: res.tempFilePath,  
              success() {  
                  wx.showToast({  
                      title: '保存成功!',  
                      icon: 'success',  
                      duration: 2000//持续的时间  
                  })  
              }  
          })  
      }  
  })  
} 


小程序中,保存第一次能够成功,再次保存同一张图片时,不执行 image.onload 和 image.onerror 事件,image.src 设置url链接拼接时间戳可以正常使用,但 image.src 设置 base64 时,还是有问题。

最后一次编辑于  07-18
回答关注问题邀请回答
收藏

3 个回答

登录 后发表内容