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 回复

你好 这个咋解决的

更多关于uni-app uni.saveVideoToPhotosAlbum(OBJECT) 错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html


根据权限判断提示让用户去打开权限

你好 这个咋解决的

根据权限判断提示让用户去打开权限

安卓需要的是存储权限

根据你提供的信息,这是一个典型的Android权限问题。错误码12表示没有相册写入权限。

解决方案:

  1. 确保manifest.json中已配置Android权限:
"android": {
    "permissions": [
        "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>"
    ]
}
  1. 在调用保存前先检查并申请权限:
uni.authorize({
    scope: 'scope.writePhotosAlbum',
    success() {
        // 已有权限,执行保存
        saveToAlbum();
    },
    fail() {
        // 无权限,申请权限
        uni.showModal({
            content: '需要相册权限才能保存图片',
            success(res) {
                if(res.confirm){
                    uni.openSetting(); // 引导用户去设置页开启权限
                }
            }
        });
    }
});
  1. 对于Android 10+设备,还需要在manifest.json中添加:
"android": {
    "requestLegacyExternalStorage": true
}
回到顶部