Ionic 3 Native:文件:{代码:5,消息:“ENCODING_ERR”}

2024-03-03

我正在使用文件 API 插件中的 checkFile 函数 https://ionicframework.com/docs/native/file#checkFile在 Ionic 3 中检查文件是否存在于本地。 Promise 被拒绝并出现以下错误:

文件错误{代码:5,消息:“ENCODING_ERR”}

从我所看到的文件 API 的 Mozilla 文档 https://developer.mozilla.org/en/docs/Web/API/FileError,问题是“URL 格式错误”。但是,我不明白 URL 的格式是如何错误的。这是相关代码,显示了我如何调用该函数以及所涉及变量的实际值(baseDirectory被设定为file:///data/user/0/ch.protectator.fehpedia/files/) :

let baseDirectory = this.file.dataDirectory;
let fileToCheck = "File:Icon Portrait Abel.png";

let promise = this.file.checkFile(this.file.dataDirectory, fileName).then(bool => {
    // Things
}, reason => {
    console.error(reason);
});

这就是失败的 Promise。这种情况的奇怪之处在于,我实际上尝试稍后在代码中显示该图像,忽略 File.checkFile 是否已找到它,并且图像显示.

在 HTML 模板中,我稍后使用:

<img [src]="imgUrl">

where imgUrl使用以下方式设置:

this.imgUrl = this.file.dataDirectory + '/' + "File:Icon Portrait Abel.png";

因此,当 WebView 调用时,图像存在并正确显示,但本机文件插件告诉我 URL 格式错误,即使对我来说,它似乎是完全相同的 URL。这就是我陷入困境的地方,我不知道要更改什么才能使代码正常工作。应该checkFile以不同的方式使用?另外,更准确的失败原因会有所帮助,但我得到的只是ENCODING_ERR,我不知道 URL 的实际部分似乎格式错误。


在查看类似案例后,我没有找到有关此特定案例的解决方案或文档。但是在尝试不同的值时,我找到了导致此错误的原因 : :。是的,结肠。文件名中出现的那个。

虽然我还没有解释why :导致本机File插件失败但网络视图没有失败,删除:从文件名有效地允许File无需提出任何要求即可看到它ENCODING_ERR。虽然这不是最佳解决方案,但这种解决方法是有效的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ionic 3 Native:文件:{代码:5,消息:“ENCODING_ERR”} 的相关文章

随机推荐