Ionic / Cordova dataDirectory文件夹在哪里?

时间:2018-08-22 10:23:28

标签: file cordova ionic-framework ionic2 ionic3

我正在使用 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);

我不知道需要在哪里放置文件,以便应用程序可以读取它们。

1 个答案:

答案 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');

希望这会有所帮助