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
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
Properti
-
volumeId
string
ID volume yang diminta.
-
dapat ditulis
boolean opsional
Apakah sistem file yang diminta harus dapat ditulis. Defaultnya adalah hanya baca.
Volume
Properti
-
volumeId
string
-
dapat ditulis
boolean
VolumeListChangedEvent
Properti
-
volume
Volume[]
Metode
chooseEntry()
chrome.fileSystem.chooseEntry(
options?: ChooseEntryOptions,
callback: function,
): void
Meminta pengguna memilih file atau direktori.
Parameter
-
opsi
ChooseEntryOptions opsional
-
callback
fungsi
Parameter
callback
terlihat seperti:(entry?: Entry, fileEntries?: FileEntry[]) => void
-
entri
Entri opsional
-
fileEntries
FileEntry[] opsional
-
getDisplayPath()
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()
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
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()
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()
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()
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.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
Dipanggil saat daftar volume yang tersedia berubah.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(event: VolumeListChangedEvent) => void
-
peristiwa
-