# 图片保存权限功能说明 ## 功能概述 为 `PreviewPhoto.ets` 组件中的 `downloadImage` 方法添加了完整的权限检查和申请功能,确保在保存图片到相册时能够正确处理存储权限。 ## 实现的功能 ### 1. 权限检查 - 在下载图片前检查 `ohos.permission.WRITE_MEDIA` 权限 - 使用 `abilityAccessCtrl.AtManager` 检查权限状态 ### 2. 权限申请 - 如果权限未授予,自动申请权限 - 使用项目中已有的 `PermissionsUtils` 工具类 - 提供友好的用户提示 ### 3. 错误处理 - 网络连接失败提示 - 文件写入失败提示 - 权限拒绝提示 - 下载进度提示 ### 4. 国际化支持 - 所有提示信息都使用字符串资源 - 支持多语言显示 ## 修改的文件 ### 1. PreviewPhoto.ets - 添加权限检查和申请方法 - 优化 `downloadImage` 方法的错误处理 - 使用字符串资源替代硬编码文本 ### 2. module.json5 - 添加 `ohos.permission.WRITE_MEDIA` 权限声明 - 添加 `ohos.permission.READ_MEDIA` 权限声明 - 使用字符串资源作为权限说明 ### 3. string.json - 添加权限相关的字符串资源 - 添加用户提示信息的字符串资源 ## 权限说明 ### WRITE_MEDIA 权限 - 用途:保存图片到相册 - 申请时机:用户点击保存图片时 - 说明:用于将下载的图片写入到设备相册 ### READ_MEDIA 权限 - 用途:读取相册中的图片 - 申请时机:应用启动时 - 说明:用于访问用户相册中的图片 ## 使用流程 1. 用户点击保存图片按钮 2. 系统检查是否有存储权限 3. 如果没有权限,弹出权限申请对话框 4. 用户授权后,开始下载图片 5. 下载完成后保存到相册 6. 显示相应的成功或失败提示 ## 注意事项 1. 权限申请是异步操作,需要等待用户响应 2. 如果用户拒绝权限,会显示提示信息 3. 网络下载和文件写入都有超时设置 4. 所有操作都有相应的错误处理