Chrome OS'te dosya işleme

Dosya işleme, ChromeOS'i uzantınızın dosyaları açabilmesi için yapılandırmanıza olanak tanır. Dosyaları açmak için dosya menüsünün Aç menüsünü veya bağlam menüsünün Birlikte aç menüsünü kullanabilirsiniz. Dosya açıldıktan sonra, web platformunun Launch Handler API'sini kullanarak dosyanın verilerini 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 dosya işleyici eklendi.
ChromeOS Aç menüsüne dosya işleyici eklendi.

Uzantılarda kullanılabilirlik

ChromeOS 120 veya sonraki sürümler.

İzinler

Dosya işleme için izin gerekmez.

Manifest

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

Desteklenen bağlamlar

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

Dosya işleyiciyi yapılandırma

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

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

Dosya işleme

Dosya işleyici, uzantınızda bulunan bir HTML dosyasıdır. Kullanıcı, menüden işleyicinizi seçtiğinde HTML dosyası yeni bir sekmede açılır. Dosyanın işlenmesi (görüntüleme veya başka bir şekilde kullanma) uygun web platformu API'leri kullanılarak JavaScript ile yapılır. İşleme kodu ayrı bir JavaScript dosyasında olmalı, <script> etiketiyle eklenmeli ve uzantınızda da bulunmalıdır. Komut dosyası, FileSystemFileHandle nesnesi 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. Dosya işleme özelliğini kullanırken görmek için File Handling Demo'yu yükleyin.

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