我正在使用本地文件插件构建一个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);我不明白我需要把我的文件放在哪里,以便应用程序可以读取它们。
发布于 2019-12-14 04:04:09
不要使用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');希望这能有所帮助
https://stackoverflow.com/questions/51964767
复制相似问题