【发布时间】:2021-01-04 19:34:30
【问题描述】:
我在尝试使用cordova-plugin-file 从我的安卓设备加载文件时收到FileError {code: 1}。我的代码:
import { File } from '@ionic-native/file/ngx';
...
private loadGpkgBlob(): Promise<any> {
const gpkgPath = this.file.externalRootDirectory + "test_dir/test.gpkg";
return new Promise((resolve, reject) => {
return this.file.resolveLocalFilesystemUrl(gpkgPath).then((fileEntry: any) => {
fileEntry.file(gpkgFile => {
// file is present (see screenshot 1)
console.log("gpkgFile: ", gpkgFile);
const reader = new FileReader();
reader.onloadend = function (e) {
const blob = new Blob([reader.result], { type: 'application/geopackage+sqlite3' });
// blob with size 4 (see screenshot 2)
console.log("result: ", blob);
resolve(blob);
};
reader.onerror = function (e) {
// FileError {code: 1} -> NOT_FOUND_ERR (https://developer.mozilla.org/en-US/docs/Web/API/FileError)
console.log("error: ", reader.error);
};
reader.readAsArrayBuffer(gpkgFile);
});
}).catch(e => e => console.log(e));
});
}
屏幕截图 1 - 设备上的文件:
屏幕截图 2 - gpkg-blob:
该文件显然已找到。有关如何修复/调试此问题的任何建议?
【问题讨论】:
标签: javascript android ionic-framework ionic-native