uni-app 在vivo V2109/V2109(Android 13) 上无法拉起文件读写权限导致读取临时文件报错
uni-app 在vivo V2109/V2109(Android 13) 上无法拉起文件读写权限导致读取临时文件报错
| 项目信息 | 详情 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境 | Mac |
| PC开发环境版本 | 15.6.1 |
| HBuilderX类型 | 正式 |
| HBuilderX版本 | 4.85 |
| 手机系统 | Android |
| 手机系统版本 | Android 13 |
| 手机厂商 | vivo |
| 手机机型 | V2109 |
| 页面类型 | vue |
| vue版本 | vue2 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
操作步骤:
- 内部账户,有数据安全
预期结果:
- 内部账户,有数据安全
实际结果:
- 内部账户,有数据安全
bug描述:
uniapp 在vivo V2109/V2109(Android 13) 上无法拉起文件读写权限,导致读取临时文件报错。错误步骤
- 首先我用uni.canvasToTempFilePath 获取cavans中的内容存储为图片,(附件中已打印临时文件信息)
- 调用uni.uploadFile 上传文件 结果直接报错。

更多关于uni-app 在vivo V2109/V2109(Android 13) 上无法拉起文件读写权限导致读取临时文件报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于uni-app 在vivo V2109/V2109(Android 13) 上无法拉起文件读写权限导致读取临时文件报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是Android 13权限策略变更导致的兼容性问题。Android 13对文件读写权限管理更加严格,特别是针对媒体文件的访问权限。
解决方案:
- 权限配置 在manifest.json中正确配置权限:
{
"permissions": {
"request": [
"android.permission.READ_MEDIA_IMAGES",
"android.permission.READ_MEDIA_VIDEO"
]
}
}
- 动态权限申请 在调用canvasToTempFilePath前先申请权限:
// 检查并申请权限
uni.authorize({
scope: 'scope.writePhotosAlbum',
success: () => {
// 权限获取成功,执行canvas转换
uni.canvasToTempFilePath({
// ...参数
})
},
fail: () => {
// 引导用户手动开启权限
uni.showModal({
content: '需要文件读写权限才能保存图片',
confirmText: '去设置',
success: (res) => {
if (res.confirm) {
uni.openAppAuthorizeSetting()
}
}
})
}
})

