chrome.fileSystem

Deskripsi

Gunakan chrome.fileSystem API untuk membuat, membaca, menjelajahi, 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

Khusus 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 "image/jpeg" atau "audio/*". Salah satu mimeTypes atau ekstensi harus berisi setidaknya satu elemen yang valid.

ChooseEntryOptions

Properti

  • menerima

    AcceptOption[] opsional

    Daftar opsional opsi penerimaan 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 accepts. Nilai defaultnya adalah benar (true). Jika kolom accepts tidak disetel atau tidak berisi entri yang valid, kolom ini akan selalu disetel ulang ke benar.

  • acceptsMultiple

    boolean opsional

    Apakah akan menerima beberapa file. Fitur ini hanya didukung untuk openFile dan openWritableFile. Callback ke chooseEntry akan dipanggil dengan daftar entri jika ini disetel ke benar. Jika tidak, fungsi ini 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 ada dan menampilkan FileEntry jika berhasil. Mulai Chrome 31 dan seterusnya, FileEntry akan dapat ditulis jika aplikasi memiliki izin 'write' di 'fileSystem'; jika tidak, FileEntry akan bersifat hanya baca.

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

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

"openDirectory"
Mendorong pengguna untuk membuka direktori dan menampilkan DirectoryEntry jika berhasil. Panggilan menggunakan jenis ini akan gagal dengan error runtime jika aplikasi tidak memiliki izin 'directory' di 'fileSystem'. Jika aplikasi memiliki izin 'tulis' di bagian 'fileSystem', DirectoryEntry yang ditampilkan akan dapat ditulis; jika tidak, DirectoryEntry akan bersifat hanya baca. Baru di Chrome 31.

RequestFileSystemOptions

Chrome 44+

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+

Properti

  • volumeId

    string

  • dapat ditulis

    boolean

VolumeListChangedEvent

Chrome 44+

Properti

Metode

chooseEntry()

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

Meminta pengguna memilih file atau direktori.

Parameter

  • opsi
  • callback

    fungsi

    Parameter callback terlihat seperti:

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

    • entri

      Entri opsional

    • fileEntries

      FileEntry[] opsional

getDisplayPath()

Janji
chrome.fileSystem.getDisplayPath(
  entry: Entry,
  callback?: function,
)
: Promise<string>

Mendapatkan jalur tampilan objek Entri. Jalur tampilan didasarkan pada jalur lengkap file atau direktori di sistem file lokal, tetapi dapat dibuat lebih mudah dibaca untuk tujuan tampilan.

Parameter

  • entri

    Entri

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (displayPath: string) => void

    • displayPath

      string

Hasil

  • Promise<string>

    Chrome 117+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

getVolumeList()

Promise Chrome 44+
chrome.fileSystem.getVolumeList(
  callback?: function,
)
: Promise<Volume[] | undefined>

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

Parameter

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (volumes?: Volume[]) => void

Hasil

  • Promise<Volume[] | undefined>

    Chrome 117+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

getWritableEntry()

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

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

Parameter

  • entri

    Entri

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (entry: Entry) => void

    • entri

      Entri

isRestorable()

Janji
chrome.fileSystem.isRestorable(
  id: string,
  callback?: function,
)
: Promise<boolean>

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

Parameter

  • id

    string

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (isRestorable: boolean) => void

    • isRestorable

      boolean

Hasil

  • Promise<boolean>

    Chrome 117+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

isWritableEntry()

Janji
chrome.fileSystem.isWritableEntry(
  entry: Entry,
  callback?: function,
)
: Promise<boolean>

Mendapatkan apakah Entri ini dapat ditulis atau tidak.

Parameter

  • entri

    Entri

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (isWritable: boolean) => void

    • isWritable

      boolean

Hasil

  • Promise<boolean>

    Chrome 117+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

requestFileSystem()

Promise Chrome 44+
chrome.fileSystem.requestFileSystem(
  options: RequestFileSystemOptions,
  callback?: function,
)
: Promise<FileSystem | undefined>

Meminta akses ke sistem file untuk volume yang diwakili oleh options.volumeId. Jika options.writable disetel ke benar (true), sistem file akan dapat ditulis. Jika tidak, kolom ini akan bersifat hanya baca. Opsi writable memerlukan izin "fileSystem": {"write"} dalam manifes. Hanya tersedia untuk aplikasi kios yang berjalan dalam sesi kios. Untuk mode kios peluncuran manual, dialog konfirmasi akan ditampilkan di atas jendela aplikasi aktif. Jika terjadi error, fileSystem tidak akan ditentukan, dan chrome.runtime.lastError akan disetel.

Parameter

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (fileSystem?: FileSystem) => void

    • fileSystem

      FileSystem opsional

Hasil

  • Promise<FileSystem | undefined>

    Chrome 117+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

restoreEntry()

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

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:

    (entry: Entry) => void

    • entri

      Entri

retainEntry()

chrome.fileSystem.retainEntry(
  entry: Entry,
)
: string

Menampilkan ID yang dapat diteruskan ke restoreEntry untuk mendapatkan kembali akses ke entri file tertentu. Hanya 500 entri yang baru saja digunakan yang dipertahankan, dengan panggilan ke retainEntry dan restoreEntry dihitung sebagai penggunaan. Jika aplikasi memiliki izin 'retainEntries' di bagian 'fileSystem', entri akan dipertahankan tanpa batas waktu. Jika tidak, entri hanya dipertahankan saat aplikasi berjalan dan saat dimulai ulang.

Parameter

  • entri

    Entri

Hasil

  • string

Acara

onVolumeListChanged

Chrome 44+
chrome.fileSystem.onVolumeListChanged.addListener(
  callback: function,
)

Dipanggil saat daftar volume yang tersedia berubah.

Parameter