我正在使用 Ionic本机文件插件构建Ionic应用程序。我需要该应用程序能够读取自己保存在该应用程序中的文件,但是我不知道该在哪里存储该文件。科尔多瓦(Cordova)官方文档对某些cordova.file.dataDirectory
进行了说明,而爱奥尼亚(Ionic)文档使用以下示例:
import { File } from '@ionic-native/file';
constructor(private file: File) { }
...
this.file.checkDir(this.file.dataDirectory, 'mydir').then( //stuff).catch( //stuff);
我不知道需要在哪里放置文件,以便应用程序可以读取它们。
答案 0 :(得分:0)
请勿使用file:/// android_asset /
您可以将文件存储在file.dataDirectory中
存储文件
我正在使用http下载zip。然后,我解压缩并随后删除压缩的文件。
const down = this.http.downloadFile(uri, {}, {}, path + 'data.zip')
.then(data => {
console.log(data.status);
console.log("DOWNLOAD SUCCESS");
this.desc = "Extracting";
this.loading = 100;
this.downloading = false;
this.zip.unzip(path + 'data.zip', path, (this.UnzipProgress))
.then((result) => {
if(result === 0) this.file.removeFile(path,'data.zip');
if(result === -1) console.log('UNZIP FAILED');
});
})
.catch(error => {
console.log("ERROR::");
console.log(error.status);
console.log(error.error); // error message as string
console.log(error.headers);
});
获取文件
对我唯一有用的是convertFileSrc()
let win: any = window;
let safeURL = win.Ionic.WebView.convertFileSrc(this.file.dataDirectory+'data/yourFile.png');
希望这会有所帮助