收藏
回答

批量保存图片在鸿蒙上会下载一个图片提示一次,是否有批量保存图片Api?

// 常见但有问题的方式
for (let i = 0; i < imgList.length; i++) {
  wx.saveImageToPhotosAlbum({
    filePath: imgList[i],
    success(res) {
      console.log('第' + i + '张保存成功')
    }
  })
 }

d

如上实现,循环下载多个图片,但是在鸿蒙上会每一次调用wx.saveImageToPhotosAlbum

都会触发"允许“微信”保存 1 张图片?", 所以微信是否支持批量保存图片的api,


参考ai:

问题根源:鸿蒙的安全控件机制

这背后的原因是,为了更好的保护用户隐私,鸿蒙系统限制应用直接申请 ohos.permission.WRITE_IMAGEVIDEO(写入相册权限)。所以,像 wx.saveImageToPhotosAlbum 这样的接口,在实现时实际上是调用了鸿蒙系统的 SaveButton(安全控件) 。

这个控件的设计原则就是“单次授权,单次使用”。每一次保存操作,都相当于一次新的、独立的授权请求,以此确保用户对每一次文件写入都有清晰的感知和控制。


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

1 个回答

  • 智能回答 智能回答 本次回答由AI生成
    03-12
    有用
    回复 1
    • XQX
      XQX
      03-13
      鸿蒙机型是如此提示,我for循环遍历5次,执行5次,wx.saveImageToPhotosAlbum ,会触发一次弹框 确定后下载一张图片,继续触发一次弹框,再次确定继续下载一张,以此类推  


      目前反应鸿蒙6.0必现,安卓手机一次也没有,代码即上述写法,


      基础库 3.10.2


      for (let i = 0; i < imgList.length; i++) {
        wx.saveImageToPhotosAlbum({
          filePath: imgList[i],
          success(res) {
            console.log('第' + i + '张保存成功')
          }
        })
       }
      03-13
      回复
登录 后发表内容