cordova-plugin-file 时的编码错误
EncodingError when cordova-plugin-file
我现在正在开发一个平台是浏览器的cordova应用程序。
我需要从本地文件系统访问一个文本文件,所以我使用的是 cordova-plugin-file。
但我在 chrome 控制台中作为异常失败了,就像这样(没有 CLI 错误):
code: 5
message: "A URI supplied to the API was malformed, or the resulting Data URL has exceeded the URL length limitations for Data URLs."
name: "EncodingError"
如我的代码所示:
document.addEventListener('deviceready', dataRead, false);
function dataRead() {
window.webkitRequestFileSystem(window.PERSISTENT, 100500*1024*1024, function() {
window.webkitResolveLocalFileSystemURL("filesystem:" + cordova.file.applicationDirectory + "1111.csv", gotFile, fail);
},function (e) {
console.log(e);
});
}
function fail(e) {
console.log("FileSystem Error");
console.dir(e);
}
function gotFile(fileEntry) {
fileEntry.file(function(file) {
var reader = new FileReader();
reader.onloadend = function(e) {
console.log("Text is: "+this.result);
}
reader.readAsText(file);
});
}
我的 URI 是非法的还是出于其他原因?
有人能指出原因吗?或者给我举个正确的例子。
感谢任何帮助。
文件插件的良好参考点是 its auto and manual tests, which can be run in cordova-plugin-test-framework and also the file plugin documentation。
关于你的问题的几点说明:
- 尝试使用小于
100500*1024*1024
的值,例如 10*1024*1024
、
- 而不是
window.webkitResolveLocalFileSystemURL("filesystem:" + cordova.file.applicationDirectory + "1111.csv", gotFile, fail);
尝试使用
window.resolveLocalFileSystemURL("filesystem:" + cordova.file.applicationDirectory + "persistent/1111.csv", gotFile, fail);
我现在正在开发一个平台是浏览器的cordova应用程序。
我需要从本地文件系统访问一个文本文件,所以我使用的是 cordova-plugin-file。
但我在 chrome 控制台中作为异常失败了,就像这样(没有 CLI 错误):
code: 5
message: "A URI supplied to the API was malformed, or the resulting Data URL has exceeded the URL length limitations for Data URLs."
name: "EncodingError"
如我的代码所示:
document.addEventListener('deviceready', dataRead, false);
function dataRead() {
window.webkitRequestFileSystem(window.PERSISTENT, 100500*1024*1024, function() {
window.webkitResolveLocalFileSystemURL("filesystem:" + cordova.file.applicationDirectory + "1111.csv", gotFile, fail);
},function (e) {
console.log(e);
});
}
function fail(e) {
console.log("FileSystem Error");
console.dir(e);
}
function gotFile(fileEntry) {
fileEntry.file(function(file) {
var reader = new FileReader();
reader.onloadend = function(e) {
console.log("Text is: "+this.result);
}
reader.readAsText(file);
});
}
我的 URI 是非法的还是出于其他原因?
有人能指出原因吗?或者给我举个正确的例子。
感谢任何帮助。
文件插件的良好参考点是 its auto and manual tests, which can be run in cordova-plugin-test-framework and also the file plugin documentation。
关于你的问题的几点说明:
- 尝试使用小于
100500*1024*1024
的值,例如10*1024*1024
、 - 而不是
window.webkitResolveLocalFileSystemURL("filesystem:" + cordova.file.applicationDirectory + "1111.csv", gotFile, fail);
尝试使用
window.resolveLocalFileSystemURL("filesystem:" + cordova.file.applicationDirectory + "persistent/1111.csv", gotFile, fail);