Chrome OS'te dosya işleme

Dosya işleme, ChromeOS'i yapılandırarak uzantınızın, dosya menüsünün Aç menüsünü veya içerik menüsünün Birlikte aç menüsünü kullanarak dosyaları açabilmesini sağlar. Açıldıktan sonra, 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 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 gerekir.

Destekleyici bağlamlar

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

Dosya işleyici yapılandırma

Her bir "file_handlers" üyesi (yani her dosya işleyici), belirli bir uzantı sayfası tarafından işlenecek bir dosya türü veya türleri belirtir.

Belirttiğiniz işleyiciler ChromeOS Dosyalar penceresine, özellikle de menülerle birlikte Aç ve Aç'a eklenir. Bu menülerde yalnızca kullanıcı, ilgili uzantıya sahip bir dosyayı seçtiğinde görünür. Örneğin, bir dosya işleyici .txt değerini belirtirse ChromeOS menüleri bu işleyiciyi yalnızca bu uzantıya sahip bir dosya seçildiğinde gösterir.

Dosya işleme

Dosya işleyici, uzantınızın içinde yer alan bir HTML dosyasıdır. Kullanıcı bir menüden işleyicinizi 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 edilmelidir ve ayrıca uzantınızda da bulunmalıdır. Komut dosyası dosyası, bir FileSystemFileHandle nesnesi almak için Launch Handler API'nin LaunchQueue arayüzünü kullanır.

Örnek

Aşağıdaki örnek, LaunchQueue arayüzünü kullanarak bir FileSystemFileHandle nesnesinin nasıl alınacağını gösterir. Dosya işlemenin nasıl çalıştığını görmek için Dosya İşleme Demosu'nu yükleyin.

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