uni-app中uni.saveFile保存视频路径失败,错误代码4,提示saveFile:fail 不允许读

uni-app中uni.saveFile保存视频路径失败,错误代码4,提示saveFile:fail 不允许读

项目信息 详情
产品分类 uniapp/App
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 10
HBuilderX类型 正式
HBuilderX版本号 3.1.18
手机系统 iOS
手机系统版本号 IOS 14
手机厂商 苹果
手机机型 7p
页面类型 vue
打包方式 云端
项目创建方式 HBuilderX

示例代码:

uni.chooseVideo({
camera: this.cameraList[this.cameraIndex].value,
sourceType: sourceType[this.sourceTypeIndex],
success: (res) => {
uni.saveFile({
tempFilePath:res.tempFilePath,
success(res1) {
console.log(res1)
this.src = res1.savedFilePath
},
fail(res2) {
console.log(res2)
}
})
},
fail: (err) => {
}
})

操作步骤:

直接在那个hello uniapp项目的视频测试里面加上这个API修改一下就能复现

预期结果:

正常应该走success回调

实际结果:

走了fail

bug描述:

ios权限配置描述写了,但是用这个API保存视频路径的时候还是会报错


更多关于uni-app中uni.saveFile保存视频路径失败,错误代码4,提示saveFile:fail 不允许读的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

收到 下个版本修复

更多关于uni-app中uni.saveFile保存视频路径失败,错误代码4,提示saveFile:fail 不允许读的实战教程也可以访问 https://www.itying.com/category-93-b0.html


什么时候可以修复好呀?急需这个功能

请问已经修复这个问题了吗?

目前iOS还是存在这个问题,请问有修复了吗?

还是存在这个问题,官方忘记修复了吧

错误代码4 “saveFile:fail 不允许读” 通常是由于iOS系统文件权限限制导致的。在iOS平台上,uni.chooseVideo返回的临时文件路径可能受到沙盒机制限制,无法直接通过uni.saveFile保存。

解决方案:

  1. 检查权限配置:确保manifest.json中已正确配置相册权限:
"ios" : {
    "permissions" : {
        "PhotoLibrary" : {
            "description" : "需要访问相册保存视频"
        }
    }
}
  1. 使用uni.downloadFile替代:对于视频文件,建议使用downloadFile API:
uni.chooseVideo({
    success: (res) => {
        uni.downloadFile({
            url: res.tempFilePath,
            success: (downloadRes) => {
                if (downloadRes.statusCode === 200) {
                    this.src = downloadRes.tempFilePath
                }
            }
        })
    }
})
回到顶部