gpt4 book ai didi

android - ionic 3 文件权限

转载 作者:行者123 更新时间:2023-12-02 01:09:39 27 4
gpt4 key购买 nike

好吧,这就去。我正在处理一个 ionic 项目。在这个特定的场景中,我们正在处理测试应用程序的 Android 版本。我可以很好地从文件系统中获取图像,它们以字符串 url 的形式返回,看起来像这样,

content://com.android.providers.media.documents/document/image%3A5744

然后应该对文件进行 blob 并将其向上传递的处理器如下所示:
return this.file.readAsArrayBuffer(urlData.url, urlData.fileName)
.then((item) => {
return new Blob([new Uint8Array(item)]);
})
.catch((err) => {
console.log(err.message)
}).then((res)=>{
return new Blob([res])
})

但后来我得到错误 SECURITY_ERR, the documentation真的不谈了。

这适用于我用相机拍摄的照片,它们都有这样的 url
file:///storage/emulated/0/Android/data/<appname>/cache/1502211622334.jpg

问题是,据我所知,没有关于导致此错误的原因的文档。我不知道要更改什么才能使我的代码正常工作。我已经使用 checkFile 方法验证了 URI 是否有效。

最佳答案

因此,事实证明您不能将内容 url 与 file.readAsArrayBuffer 一起使用,而是必须首先将 url 解析为 readAsArrayBuffer 可以理解的内容。为此,我使用了 ionic native filePath plugin .

一旦它被安装并包含在我需要它的页面中,我就使用了

filePath.resolveNativePath(url)

我的 url 上的方法,因为这会返回一个 promise ,所以我将我的 readAsArrayBuffer 链接到前面的 then 语句上。我确实必须使用 if 语句来为内容 url(这需要 resolveNativePath)和已经工作的非内容 url 提供分支路径。

据我所知,此解决方案有效。

关于android - ionic 3 文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45574181/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com