chrome.fileSystem

Deskripsi

Gunakan chrome.fileSystem API untuk membuat, membaca, menavigasi, dan menulis ke sistem file lokal pengguna. Dengan API ini, Aplikasi Chrome dapat membaca dan menulis ke lokasi yang dipilih pengguna. Misalnya, aplikasi editor teks dapat menggunakan API untuk membaca dan menulis dokumen lokal. Semua kegagalan akan diberi tahu melalui chrome.runtime.lastError.

Izin

fileSystem

Ketersediaan

Hanya latar depan

Jenis

AcceptOption

Properti

  • deskripsi

    string opsional

    Ini adalah deskripsi teks opsional untuk opsi ini. Jika tidak ada, deskripsi akan dibuat secara otomatis; biasanya berisi daftar ekstensi valid yang diperluas (misalnya, "text/html" dapat diperluas menjadi "*.html, *.htm").

  • ekstensi

    string[] opsional

    Ekstensi yang akan diterima, misalnya "jpg", "gif", "crx".

  • mimeTypes

    string[] opsional

    Jenis mime yang akan diterima, misalnya "gambar/jpeg" atau "audio/*". Salah satu mimeTypes atau ekstensi harus berisi setidaknya satu elemen yang valid.

ChooseEntryOptions

Properti

  • menerima

    AcceptOption[] opsional

    Daftar opsional opsi terima untuk pembuka file ini. Setiap opsi akan ditampilkan sebagai grup unik kepada pengguna akhir.

  • acceptsAllTypes

    boolean opsional

    Apakah akan menerima semua jenis file, selain opsi yang ditentukan dalam argumen menerima. Nilai defaultnya adalah benar (true). Jika kolom penerimaan tidak ditetapkan atau berisi entri yang valid, kolom ini akan selalu direset ke benar (true).

  • acceptsMultiple

    boolean opsional

    Apakah akan menerima beberapa file. Ini hanya didukung untuk openFile dan openWritableFile. Callback untuk chooseEntry akan dipanggil dengan daftar entri jika disetel ke true. Jika tidak, tabel akan dipanggil dengan satu Entri.

  • suggestedName

    string opsional

    Nama file yang disarankan yang akan ditampilkan kepada pengguna sebagai nama default untuk dibaca atau ditulis. Langkah ini bersifat opsional.

  • jenis

    ChooseEntryType opsional

    Jenis perintah yang akan ditampilkan. Defaultnya adalah 'openFile'.

ChooseEntryType

Enum

"openFile"
Meminta pengguna untuk membuka file yang sudah ada dan menampilkan FileEntry jika berhasil. Mulai Chrome 31 dan seterusnya, FileEntry akan dapat ditulis jika aplikasi memiliki tombol 'write' izin akses di bawah 'fileSystem'; jika tidak, FileEntry akan bersifat hanya baca.

"openWritableFile"
Meminta pengguna untuk membuka file yang ada dan menampilkan FileEntry yang dapat ditulis saat berhasil. Panggilan yang menggunakan jenis ini akan gagal dengan error runtime jika aplikasi tidak memiliki 'write' di bagian 'fileSystem'.

"saveFile"
Meminta pengguna untuk membuka file yang sudah ada atau file baru dan menampilkan FileEntry yang dapat ditulis setelah berhasil. Panggilan yang menggunakan jenis ini akan gagal dengan error runtime jika aplikasi tidak memiliki 'write' di bagian 'fileSystem'.

"openDirectory"
Meminta pengguna untuk membuka direktori dan menampilkan DirectoryEntry saat berhasil. Panggilan yang menggunakan jenis ini akan gagal dengan error runtime jika aplikasi tidak memiliki 'direktori' di bawah 'fileSystem'. Jika aplikasi memiliki tombol 'write' izin akses di bawah 'fileSystem', DirectoryEntry yang dikembalikan akan dapat ditulis; jika tidak maka akan menjadi hanya-baca. Baru di Chrome 31.

RequestFileSystemOptions

Chrome 44 dan yang lebih baru

Properti

  • volumeId

    string

    ID volume yang diminta.

  • dapat ditulis

    boolean opsional

    Apakah sistem file yang diminta harus dapat ditulis. Defaultnya adalah hanya baca.

Volume

Chrome 44 dan yang lebih baru

Properti

  • volumeId

    string

  • dapat ditulis

    boolean

VolumeListChangedEvent

Chrome 44 dan yang lebih baru

Properti

Metode

chooseEntry()

chrome.fileSystem.chooseEntry(
  options?: ChooseEntryOptions,
  callback: function,
)

Minta pengguna untuk memilih file atau direktori.

Parameter

  • opsi
  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (entry?: Entry, fileEntries?: FileEntry[]) => void

    • entri

      Entri opsional

    • fileEntries

      FileEntry[] opsional

getDisplayPath()

Janji
chrome.fileSystem.getDisplayPath(
  entry: Entry,
  callback?: function,
)

Mendapatkan jalur tampilan objek Entry. Jalur yang ditampilkan didasarkan pada jalur lengkap file atau direktori di sistem file lokal, tetapi mungkin dibuat lebih mudah dibaca untuk tujuan tampilan.

Parameter

  • entri

    Entri

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (displayPath: string) => void

    • displayPath

      string

Hasil

  • Promise<string>

    Chrome 117 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

getVolumeList()

Janji Chrome 44 dan yang lebih baru
chrome.fileSystem.getVolumeList(
  callback?: function,
)

Menampilkan daftar volume yang tersedia untuk requestFileSystem(). Izin manifes "fileSystem": {"requestFileSystem"} diperlukan. Tersedia hanya untuk aplikasi kios yang berjalan di sesi kios. Jika terjadi error, volumes tidak akan ditentukan, dan chrome.runtime.lastError akan ditetapkan.

Parameter

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (volumes?: Volume[]) => void

Hasil

  • Promise&lt;Volume[] | tidak terdefinisi>

    Chrome 117 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

getWritableEntry()

chrome.fileSystem.getWritableEntry(
  entry: Entry,
  callback: function,
)

Mendapatkan Entri yang dapat ditulis dari Entri lain. Panggilan ini akan gagal dengan error runtime jika aplikasi tidak memiliki tombol 'write' di bawah 'fileSystem'. Jika entri adalah DirectoryEntry, panggilan ini akan gagal jika aplikasi tidak memiliki 'directory' di bawah 'fileSystem'.

Parameter

  • entri

    Entri

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (entry: Entry) => void

    • entri

      Entri

isRestorable()

Janji
chrome.fileSystem.isRestorable(
  id: string,
  callback?: function,
)

Menampilkan apakah aplikasi memiliki izin untuk memulihkan entri dengan ID yang diberikan.

Parameter

  • id

    string

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (isRestorable: boolean) => void

    • isRestorable

      boolean

Hasil

  • Promise&lt;boolean&gt;

    Chrome 117 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

isWritableEntry()

Janji
chrome.fileSystem.isWritableEntry(
  entry: Entry,
  callback?: function,
)

Mendapatkan apakah Entri ini dapat ditulis atau tidak.

Parameter

  • entri

    Entri

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (isWritable: boolean) => void

    • isWritable

      boolean

Hasil

  • Promise&lt;boolean&gt;

    Chrome 117 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

requestFileSystem()

Janji Chrome 44 dan yang lebih baru
chrome.fileSystem.requestFileSystem(
  options: RequestFileSystemOptions,
  callback?: function,
)

Meminta akses ke sistem file untuk volume yang diwakili oleh options.volumeId. Jika options.writable disetel ke true, sistem file akan dapat ditulis. Jika tidak, akses akan menjadi hanya baca. Opsi writable memerlukan izin "fileSystem": {"write"} dalam manifes. Tersedia hanya untuk aplikasi kios yang berjalan di sesi kios. Untuk mode kios yang diluncurkan secara manual, dialog konfirmasi akan ditampilkan di bagian atas jendela aplikasi yang aktif. Jika terjadi error, fileSystem tidak akan ditentukan, dan chrome.runtime.lastError akan ditetapkan.

Parameter

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (fileSystem?: FileSystem) => void

    • fileSystem

      FileSystem opsional

Hasil

  • Promise&lt;FileSystem | tidak terdefinisi>

    Chrome 117 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

restoreEntry()

chrome.fileSystem.restoreEntry(
  id: string,
  callback: function,
)

Menampilkan entri file dengan ID yang diberikan jika dapat dipulihkan. Jika tidak, panggilan ini akan gagal dengan error runtime.

Parameter

  • id

    string

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (entry: Entry) => void

    • entri

      Entri

retainEntry()

chrome.fileSystem.retainEntry(
  entry: Entry,
)

Menampilkan ID yang dapat diteruskan ke RestoreEntry untuk mendapatkan kembali akses ke entri file yang ditentukan. Hanya 500 entri yang terakhir digunakan yang akan dipertahankan, dengan panggilan ke retainEntry dan recoveryEntry yang dihitung sebagai penggunaan. Jika aplikasi memiliki elemen 'retainEntries' izin akses di bawah 'fileSystem', entri dipertahankan tanpa batas waktu. Jika tidak, entri hanya akan dipertahankan saat aplikasi berjalan dan setelah dimulai ulang.

Parameter

  • entri

    Entri

Hasil

  • string

Acara

onVolumeListChanged

Chrome 44 dan yang lebih baru
chrome.fileSystem.onVolumeListChanged.addListener(
  callback: function,
)

Dipanggil saat daftar volume yang tersedia diubah.

Parameter