Ketika saya mencoba membuat daftar direktori folder saya dengan file ionic-native, saya tidak mendapatkan folder apa pun sebagai hasilnya.

Kode saya:

this.platform.ready().then(() => {
      this.filesystem.listDir(this.filesystem.applicationStorageDirectory, '').then((result) => {
       console.log(result);
        /*result will have an array of file objects with 
        file details or if its a directory*/
        for (let file of result) {
          if (file.isDirectory == true && file.name != '.' && file.name != '..') {
            console.log("This is a folder");
            // Code if its a folder
          } else if (file.isFile == true) {
            // Code if its a file
            console.log("This is a file");
            let name = file.name // File name
            console.log("file name: " + name);
           // let path = file.path // File path
            file.getMetadata(function (metadata) {
              let size = metadata.size; // Get file size
            })
          }
        }
     });
    });

Saya menggunakan: "@ionic-native/file": "4.12.0", Dengan import: import { File } from '@ionic-native/file';

1
Rajdeep Chandra 26 Maret 2019, 16:29

1 menjawab

Jawaban Terbaik

Anda belum melewati nama direktori di this.filesystem.listDir(this.filesystem.applicationStorageDirectory, '') Anda harus memberikan nama direktori dalam metode ini. Anda bisa mendapatkan nama direktori dari this.filesystem.applicationStorageDirectory. Peringatan pertama this.filesystem.applicationStorageDirectory dan periksa jenis jalur yang Anda dapatkan.

Jika jalannya seperti:

file:///storage/emulator/0/somefolder

Kemudian dapatkan nama direktori sebagai berikut:

let appStorageDir = "file:///storage/emulator/0/somefolder";
let dirName = appStorageDir.substring(appStorageDir.lastIndexOf("/")+1);

Jika ada slash(/) di jalur terakhir seperti:

file:///storage/emulator/0/somefolder/

Kemudian dapatkan nama direktori sebagai berikut:

let appStorageDir = "file:///storage/emulator/0/somefolder/";
appStorageDir = appStorageDir.substring(0,appStorageDir.lastIndexOf("/"));
let dirName = appStorageDir.substring(appStorageDir.lastIndexOf("/")+1);

Sekarang berikan dirName itu dalam metode sebagai berikut:

this.filesystem.listDir(this.filesystem.applicationStorageDirectory, dirName)

Semoga itu akan membantu Anda !!!

1
Kishan Bharda 26 Maret 2019, 14:18