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.](https://developer.chrome.com/static/docs/extensions/how-to/web-platform/file-handling-chromeos/image/a-file-handler-added-the-4899ab22819fc.png?authuser=6&hl=tr)
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];
});
}
``````