// 常见但有问题的方式
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(安全控件) 。
这个控件的设计原则就是“单次授权,单次使用”。每一次保存操作,都相当于一次新的、独立的授权请求,以此确保用户对每一次文件写入都有清晰的感知和控制。

目前反应鸿蒙6.0必现,安卓手机一次也没有,代码即上述写法,
基础库 3.10.2
for (let i = 0; i < imgList.length; i++) {
wx.saveImageToPhotosAlbum({
filePath: imgList[i],
success(res) {
console.log('第' + i + '张保存成功')
}
})
}