gpt4 book ai didi

javascript - 尝试访问外部存储卡时ENCODING_ERR

转载 作者:行者123 更新时间:2023-12-03 00:07:59 24 4
gpt4 key购买 nike

从基于 cordova-android 的应用程序中,我尝试读取存储在外部 SD 卡(即可移动卡)中的内容。通过使用cordova.plugins.diagnostic插件,我成功地获取了SD卡的路径。这些详细信息是:

file:///storage/75FF-1911
file:///storage/75FF-1911/Android/data/es. ... .myAppName/files

通过使用 cordova-plugin-file 插件,我尝试读取存储在 sdcard 根目录中的内容,但在调用时收到 ENCODING_ERR window.resolveLocalFileSystemURL() 方法。我正在使用的代码如下:

url = "file:///storage/75FF-1911";
window.resolveLocalFileSystemURL(url, onSuccessResolveLocalFileSystemURL, onError);

onSuccessResolveLocalFileSystemURL : function(directoryEntry) {
//never called
}

onError : function(fileError) {
var msg = "";

console.log("onError():called");

switch (fileError.code) {
...
case FileError.ENCODING_ERR: // 5
msg = 'ENCODING_ERR';
break;
...
}
console.log("onError():" + fileError.code + " - " + msg);
}

当应用程序执行时,我总是得到这个跟踪:

onError():called
onError():5 - ENCODING_ERR

我不明白为什么当我向 cordova-plugin-file 插件传递一个包含以下路径的字符串时,它的 window.resolveLocalFileSystemURL() 方法会失败已从 cordova.plugins.diagnostic 插件的 getExternalSdCardDetails() 方法获取。

ENCODING_ERR 错误到底是什么意思?这条路好像不存在。

如果有人能向我解释我做错了什么,我真的很感激。

最佳答案

对于那些面临某些问题的人来说,只需知道需要将这两行包含在 config.xml 文件中,如 here 所示。 :

<preference name="AndroidPersistentFileLocation" value="Compatibility" />
<preference name="AndroidExtraFilesystems" value="files,files-external,documents,sdcard,cache,cache-external,root" />

但是,在我的 config.xml 文件中,为 AndroidExtraFilesystems 首选项设置 "sdcard,cache" 值就足够了,即:

<preference name="AndroidPersistentFileLocation" value="Compatibility" />
<preference name="AndroidExtraFilesystems" value="sdcard,cache" />

我遇到的问题是我的IDE以某种方式将这些首选项条目包含在$(My_PROJECT)\platforms\android\中的config.xml文件中res\xml.

删除第二个 config.xml 文件中的这些行后,一切都按预期工作。

关于javascript - 尝试访问外部存储卡时ENCODING_ERR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54875042/

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