Penanganan file di ChromeOS

Penanganan file memungkinkan Anda mengonfigurasi ChromeOS sehingga ekstensi Anda dapat membuka file menggunakan menu Buka di menu file atau menu Buka dengan di menu konteks. Setelah terbuka, Anda memproses data file menggunakan Launch Handler API platform web. Kemudian, Anda akan menggunakan API platform web standar untuk menampilkan atau menangani file.

Pengendali file ditambahkan ke menu Buka ChromeOS.
Pengendali file ditambahkan ke menu Buka ChromeOS.

Ketersediaan di ekstensi

ChromeOS 120 atau yang lebih baru.

Izin

Tidak ada izin yang diperlukan untuk menangani file.

Manifes

Anda perlu menambahkan array "file_handlers" ke file manifest.json.

Konteks pendukung

API ini dapat digunakan di pekerja layanan ekstensi, pop-up, panel samping, atau skrip konten.

Mengonfigurasi pengendali file

Setiap anggota "file_handlers" —yang berarti setiap pengendali file—menentukan satu atau beberapa jenis file yang akan ditangani oleh halaman ekstensi tertentu.

Pengendali yang Anda tentukan akan ditambahkan ke jendela Files ChromeOS, menu Buka dan Buka dengan menu secara khusus. Gambar tersebut hanya akan muncul di menu ini ketika pengguna memilih {i>file<i} dengan ekstensi tertentu. Misalnya, jika pengendali file menentukan .txt, menu ChromeOS hanya menampilkan pengendali tersebut saat file dengan ekstensi tersebut dipilih.

Memproses file

Pengendali file adalah file HTML yang terdapat dalam ekstensi Anda. Jika pengguna memilih pengendali dari menu, file HTML akan terbuka di tab baru. Pemrosesan file, baik Anda menampilkannya atau menggunakannya dengan cara lain, dilakukan dengan JavaScript menggunakan API platform web yang sesuai. Kode pemrosesan harus dalam file JavaScript terpisah dan disertakan melalui tag <script>, serta harus ada di ekstensi Anda. File skrip menggunakan antarmuka LaunchQueue dari Launch Handler API untuk mendapatkan objek FileSystemFileHandle.

Contoh

Contoh berikut menunjukkan cara mendapatkan objek FileSystemFileHandle menggunakan antarmuka LaunchQueue. Untuk melihat cara kerja penanganan file, instal Demo Penanganan File.

if ('launchQueue' in window) {
  launchQueue.setConsumer(async launchParams => {
    if (!launchParams.files || !launchParams.files.length) { return; }
    const fileHandle = launchParams.files[0];
  });
}
``````