鸿蒙next在uni-app中调用uni.previewImage保存图片到相册报错
鸿蒙next在uni-app中调用uni.previewImage保存图片到相册报错
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Mac | m2 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Mac
手机系统:HarmonyOS NEXT
手机系统版本号:HarmonyOS 5.0.1
手机厂商:华为
手机机型:nova13
页面类型:vue
vue版本:vue3
打包方式:云端
操作步骤:
- 正常操作
预期结果:
- 不报错,成功保存到相册
实际结果:
- 报错
bug描述:
使用uni.previewImage报错图片到相册报错信息如下:
photoAccessHelper getPhotoAccessHelper inner add createDeleteRequest and showAssetsCreationDialog
17:09:27.677 photoAccessHelper appId is 包名_BIlroQEimcqtZsXQWv+roPUau+SoUaYoTt7Q01dRLMxIXgb3/Wxtg+HmMgSiHaKfqzvf7N9s8ow8esfGJcwPsXU=.
17:09:27.677 photoAccessHelper bundleName is 包名.
17:09:27.677 photoAccessHelper modeleName is .
17:09:27.677 photoAccessHelper labelId is 包名_BIlroQEimcqtZsXQWv+roPUau+SoUaYoTt7Q01dRLMxIXgb3/Wxtg+HmMgSiHaKfqzvf7N9s8ow8esfGJcwPsXU=.
我已经获取到了存储权限了,这是因为啥
更多关于鸿蒙next在uni-app中调用uni.previewImage保存图片到相册报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html
你 previewImage 中的图片链接是怎么样的?
更多关于鸿蒙next在uni-app中调用uni.previewImage保存图片到相册报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
请问复现了吗
有人知道是咋回事吗
请问有人遇到过嘛
你提供一下fail中的报错
都不走fail,复现路径是:使用uni.previewImage预览图片,长按图片,点击保存图片(应该是自带的修改不了),就报帖子里的那个,点击取消也报
回复 1***@163.com: 你提供的这个信息并不是报错信息,我这测试是正常的,你提供一下你的项目
回复 DCloud_UNI_yuhe: 上传了
回复 DCloud_UNI_yuhe: 你能正常监听到longPressActions的返回值?
测试项目/运行在鸿蒙next5.0.1、模拟器均报错
回复 DCloud_UNI_yuhe: 完整的项目咋提供啊,可以远程看一下
回复 1***@163.com: 先看一下 im
根据报错信息分析,这是鸿蒙系统特有的相册访问权限问题。在HarmonyOS NEXT上,除了常规的存储权限外,还需要额外处理相册访问权限。
解决方案:
- 确保manifest.json中已声明相册权限:
"permission": {
"ohos.permission.READ_IMAGE"
}
- 在调用uni.previewImage前动态请求权限:
uni.authorize({
scope: 'scope.photoAccessHelper',
success() {
uni.previewImage({
urls: [imageUrl],
success: () => {
uni.saveImageToPhotosAlbum({
filePath: imageUrl
})
}
})
}
})
- 如果仍报错,可能是鸿蒙相册API的兼容性问题,可以尝试改用uni.downloadFile+uni.saveImage组合方案:
uni.downloadFile({
url: imageUrl,
success: (res) => {
uni.saveImageToPhotosAlbum({
filePath: res.tempFilePath
})
}
})