我正在构建Cordova应用程序,并且我使用cordova-plugin-file来读取文件。它在Android和iOS上运行良好,但我无法在Windows 10 Universal应用程序上运行。我读取文件的代码是:
fs.readFromFile = function(base, fileName) {
pathToFile = base + 'www/' + fileName;
return new Promise(function(resolve, reject) {
window.resolveLocalFileSystemURL(pathToFile, function(fileEntry) {
fileEntry.file(function(file) {
var reader = new FileReader();
reader.onloadend = function(e) {
resolve(this.result);
};
reader.readAsText(file);
}, reject);
}, function(er) {
console.log(er);
reject();
});
});
};
然后我称之为:
fs.readFromFile(cordova.file.applicationDirectory, 'lang/' + language + '.json')
.then(function(content) {
lang = JSON.parse(content);
loadFilesCallback().then(resolve);
});
我总是在Windows 10上获得FileError.ENCODING_ERR。我试图将编码从UTF-8更改为Windows-1250,但仍然是同样的错误。
在插件文档中,我发现Windos不支持FileReader.readAsArrayBuffer,也不支持FileWriter.write(blob)。我只是做错了什么,或者Windows 10 Universal App上的插件不支持读写?