uni-app uni.saveVideoToPhotosAlbum(OBJECT) 错误
uni-app uni.saveVideoToPhotosAlbum(OBJECT) 错误
类别 | 信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Windows |
PC版本号 | w10 |
HBuilderX | 正式 |
HBuilderX版本号 | 3.8.12 |
手机系统 | Android |
手机系统版本号 | Android 13 |
手机厂商 | OPPO |
手机机型 | 13 |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
示例代码:
uni.saveImageToPhotosAlbum({
filePath: res.tempFilePaths[0],
success: function () {
console.log('save success');
uni.showToast({
position: "center",
icon: "none",
title: "图片保存成功,请到手机相册查看"
})
},
fail(e) {
console.log(e,"错误")
uni.showModal({
content: "保存相册失败,errCode:" + e.errCode + ",errMsg:" + e.errMsg + ",errSubject:" + e.errSubject,
showCancel: false
});
}
});
操作步骤:
- 就保存正常图片到手机相册
预期结果:
- 正常保存
实际结果:
{"errMsg":"saveImageToPhotosAlbum:fail No Permission","errCode":12,"code":12}
bug描述:
用uni的uni.saveImageToPhotosAlbum
保存图片已经给过访问相册权限了,提示{"errMsg":"saveImageToPhotosAlbum:fail No Permission","errCode":12,"code":12}
更多关于uni-app uni.saveVideoToPhotosAlbum(OBJECT) 错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html
6 回复
根据权限判断提示让用户去打开权限
你好 这个咋解决的
根据权限判断提示让用户去打开权限
安卓需要的是存储权限
根据你提供的信息,这是一个典型的Android权限问题。错误码12表示没有相册写入权限。
解决方案:
- 确保manifest.json中已配置Android权限:
"android": {
"permissions": [
"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>"
]
}
- 在调用保存前先检查并申请权限:
uni.authorize({
scope: 'scope.writePhotosAlbum',
success() {
// 已有权限,执行保存
saveToAlbum();
},
fail() {
// 无权限,申请权限
uni.showModal({
content: '需要相册权限才能保存图片',
success(res) {
if(res.confirm){
uni.openSetting(); // 引导用户去设置页开启权限
}
}
});
}
});
- 对于Android 10+设备,还需要在manifest.json中添加:
"android": {
"requestLegacyExternalStorage": true
}