收藏
回答

鸿蒙Next微信公众号长按保存图片提示保存失败

      const canvas = await html2canvas(element, {
        useCORS: true,
        scale: 2, 
        backgroundColor: '#ffffff',
        allowTaint: true,
        foreignObjectRendering: false,
        imageTimeout: 0, 
        logging: false,
        quality: 1.0,
      })


      const cropCanvas = document.createElement('canvas')
      const cropHeight = canvas.height - 5 
      cropCanvas.width = canvas.width
      cropCanvas.height = cropHeight
      const ctx = cropCanvas.getContext('2d')
      ctx.mozImageSmoothingEnabled = false
      ctx.webkitImageSmoothingEnabled = false
      ctx.msImageSmoothingEnabled = false
      ctx.imageSmoothingEnabled = false
      ctx.drawImage(canvas, 0, 0, canvas.width, cropHeight, 0, 0, canvas.width, cropHeight)



      const base64Data = cropCanvas.toDataURL('image/png', 1.0)
      imageUrl.value = base64Data

图片可以正常展示出来 但是长按保存和分享朋友都会提示保存失败

最后一次编辑于  2025-05-29
回答关注问题邀请回答
收藏

3 个回答

  • 社区技术运营专员--许涛
    社区技术运营专员--许涛
    2025-05-29

    你好,麻烦提供下机型,微信版本号和复现链接

    2025-05-29
    有用
    回复 9
    • 十一
      十一
      2025-05-30
      华为Mate60Pro 系统版本:5.0.1.120 复现连接:内网环境,可以参考上述代码
      2025-05-30
      回复
    • 社区技术运营专员--许涛
      社区技术运营专员--许涛
      2025-05-30回复十一
      不能提供公网可访问的复现链接吗?
      2025-05-30
      回复
    • namefhf
      namefhf
      发表于移动端
      2025-07-11回复十一
      你好 解决了吗
      2025-07-11
      回复
    • namefhf
      namefhf
      2025-07-11回复社区技术运营专员--许涛
      是因为图片的src是base64的原因吗?
      2025-07-11
      回复
    • 社区技术运营专员--许涛
      社区技术运营专员--许涛
      2025-07-11回复namefhf
      麻烦提供下机型,微信版本号和复现链接
      2025-07-11
      回复
    查看更多(4)
  • Thahao
    Thahao
    2025-11-27

    确实是只有https的图片才可以保存,使用base64的保存不了,官方什么时候能修复一下?

    2025-11-27
    有用
    回复
  • ccchd
    ccchd
    2025-08-13
    我这边升级版本依然没办法解决,我也是canvas的toDataURL,长按保存失败,似乎只支持https:xxx 形式的图片进行长按保存
    


    2025-08-13
    有用
    回复 3
    • Amo il vostr🇨🇳
      Amo il vostr🇨🇳
      2025-09-09
      你好,解决了吗 我这也是一样的问题
      2025-09-09
      回复
    • ccchd
      ccchd
      2025-09-10回复Amo il vostr🇨🇳
      没有,我也是合成海报的时候长按保存报错,安卓和ios没有问题
      2025-09-10
      回复
    • ccchd
      ccchd
      2025-09-11回复Amo il vostr🇨🇳
      刚解决了,我把图片的清晰度降低了,让base64的体积保持在200kb以内,现在是165kb,我这边可以正常保存,我以前的海报是700kb左右
      2025-09-11
      回复
登录 后发表内容