Penanganan file di ChromeOS

Proses penanganan file memungkinkan Anda mengonfigurasi ChromeOS sehingga ekstensi Anda dapat membuka file menggunakan menu Buka dari menu file atau menu Buka dengan pada menu konteks. Setelah terbuka, Anda akan memproses data file menggunakan Launch Handler API platform web. Selanjutnya, Anda akan menggunakan API platform web standar untuk menampilkan atau menangani file.

Pengendali file yang 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 proses penanganan file.

Manifes

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

Konteks pendukung

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

Mengonfigurasi pengendali file

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

Pengendali yang Anda tentukan akan ditambahkan ke jendela File ChromeOS, yaitu menu Buka dan Buka dengan secara khusus. Menu ini hanya akan muncul saat pengguna memilih file dengan ekstensi tertentu. Misalnya, jika pengendali file menentukan .txt, menu ChromeOS hanya akan menampilkan pengendali tersebut saat file dengan ekstensi tersebut dipilih.

Memproses file

Pengendali file adalah file HTML yang terdapat dalam ekstensi Anda. Saat pengguna memilih pengendali dari menu, file HTML akan terbuka di tab baru. Memproses file, baik Anda menampilkannya atau menggunakannya dengan cara lain, dilakukan dengan JavaScript menggunakan API platform web yang sesuai. Kode pemrosesan harus berada dalam file JavaScript terpisah dan disertakan melalui tag <script>, serta harus ada dalam 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];
  });
}
``````