Chrome OS'te dosya işleme

Dosya işleme, ChromeOS'i, uzantınızın Dosya menüsündeki Aç menüsünü veya içerik menüsündeki Birlikte aç menüsünü kullanarak dosyaları açabileceği şekilde yapılandırmanıza olanak tanır. Açıldığında, dosya verilerini web platformunun Launch Handler API'sini kullanarak işlersiniz. Ardından, dosyayı görüntülemek veya işlemek için standart web platformu API'lerini kullanırsınız.

ChromeOS'in Aç menüsüne bir dosya işleyici eklendi.
ChromeOS Aç menüsüne bir dosya işleyici eklendi.

Uzantılarda kullanılabilirlik

ChromeOS 120 veya sonraki sürümler.

İzinler

Dosya işleme için herhangi bir izin gerekmez.

Manifest

"file_handlers" dizisini manifest.json dosyasına eklemeniz gerekiyor.

Destekleyici bağlamlar

Bu API; uzantı hizmet çalışanlarında, pop-up'larda, yan panellerde veya içerik komut dosyalarında kullanılabilir.

Dosya işleyici yapılandırma

"file_handlers" öğesinin her üyesi (yani dosya işleyici), belirli bir uzantı sayfası tarafından işlenecek dosya türünü veya türlerini belirtir.

Belirttiğiniz işleyiciler ChromeOS Dosyalar penceresine, özellikle de "Birlikte aç" ve "Birlikte aç" menülerine eklenir. Kullanıcı belirli uzantıya sahip bir dosyayı seçtiğinde bu menülerde görünürler. Örneğin, bir dosya işleyici .txt değerini belirtiyorsa ChromeOS menülerinde bu işleyici yalnızca söz konusu uzantıya sahip bir dosya seçildiğinde gösterilir.

Dosya işleme

Dosya işleyici, uzantınızda yer alan bir HTML dosyasıdır. Kullanıcı işleyicinizi menüden seçtiğinde HTML dosyası yeni bir sekmede açılır. İster görüntüleyin ister başka bir şekilde kullanın, dosyanın işlenmesi uygun web platformu API'leri kullanılarak JavaScript ile gerçekleştirilir. İşleme kodu ayrı bir JavaScript dosyasında olmalı, <script> etiketi aracılığıyla dahil edilmeli ve ayrıca uzantınızda yer almalıdır. Komut dosyası, FileSystemFileHandle nesnesini almak için Launch Handler API'nin LaunchQueue arayüzünü kullanır.

Örnek

Aşağıdaki örnekte, LaunchQueue arayüzü kullanılarak FileSystemFileHandle nesnesinin nasıl alınacağı gösterilmektedir. Dosyaların nasıl işlendiğini görmek için Dosya İşleme Demosunu yükleyin.

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