chrome.fileBrowserHandler

refresh date: 2026-09-25 robots: noindex

Açıklama

Chrome OS dosya tarayıcısını genişletmek için chrome.fileBrowserHandler API'yi kullanın. Örneğin, kullanıcıların web sitenize dosya yüklemesini sağlamak için bu API'yi kullanabilirsiniz.

İzinler

fileBrowserHandler

Kullanılabilirlik

Yalnızca ChromeOS Yalnızca ön plan

Kullanıcı Alt+Shift+M tuşlarına bastığında veya SD kart, USB anahtarı, harici sürücü ya da dijital kamera gibi bir harici depolama cihazı bağladığında ChromeOS dosya tarayıcısı açılır. Dosya tarayıcı, harici cihazlardaki dosyaları göstermenin yanı sıra kullanıcının daha önce sisteme kaydettiği dosyaları da görüntüleyebilir.

Kullanıcı bir veya daha fazla dosya seçtiğinde dosya tarayıcı, bu dosyalar için geçerli işleyicileri temsil eden düğmeler ekler. Örneğin, aşağıdaki ekran görüntüsünde ".png" sonekli bir dosya seçildiğinde kullanıcının tıklayabileceği bir "Galeriye kaydet" düğmesi gösterilir.

Dosya tarayıcısı ekran görüntüsü

Manifest

Uzantı manifestinde "fileBrowserHandler" iznini tanımlamanız ve uzantıyı en az bir dosya türünün işleyicisi olarak kaydettirmek için "file_browser_handlers" alanını kullanmanız gerekir. Düğmede gösterilecek 16x16 boyutunda bir simge de sağlamanız gerekir. Örneğin:

{
  "name": "My extension",
  ...
  "file_browser_handlers": [
    {
      "id": "upload",
      "default_title": "Save to Gallery", // What the button will display
      "file_filters": [
        "filesystem:*.jpg",  // To match all files, use "filesystem:*.*"
        "filesystem:*.jpeg",
        "filesystem:*.png"
      ]
    }
  ],
  "permissions" : [
    "fileBrowserHandler"
  ],
  "icons": {
    "16": "icon16.png",
    "48": "icon48.png",
    "128": "icon128.png"
  },
  ...
}

Dosya tarayıcısı işleyicisini uygulama

Bu API'yi kullanmak için chrome.fileBrowserHandler öğesinin onExecute etkinliğini işleyen bir işlev uygulamanız gerekir. Kullanıcı, dosya tarayıcı işleyicinizi temsil eden düğmeyi her tıkladığında işleviniz çağrılır. İşlevinizde, dosya içeriklerine erişmek için File System API'yi kullanın. Örnek:

chrome.fileBrowserHandler.onExecute.addListener(async (id, details) => {
  if (id !== 'upload') {
    return;  // check if you have multiple file_browser_handlers
  }

  for (const entry of detail.entries) {
    // the FileSystemFileEntry doesn't have a Promise API, wrap in one
    const file = await new Promise((resolve, reject) => {
      entry.file(resolve, reject);
    });
    const buffer = await file.arrayBuffer();
    // do something with buffer
  }
});

Etkinlik işleyicinize iki bağımsız değişken iletilir:

id
Manifest dosyasındaki "id" değeri. Uzantınız birden fazla işleyici uyguluyorsa hangi işleyicinin tetiklendiğini görmek için kimlik değerini kontrol edebilirsiniz.
ayrıntılar
Etkinliği açıklayan bir nesne. Kullanıcının seçtiği dosyaları, FileSystemFileEntry nesnelerinden oluşan bir dizi olan bu nesnenin entries alanından alabilirsiniz.

Türler

FileHandlerExecuteEventDetails

fileBrowserHandler.onExecute etkinliği için etkinlik ayrıntıları yükü.

Özellikler

  • entries

    any[]

    Bu işlemin hedeflerini (ChromeOS dosya tarayıcısında seçilen) temsil eden dosyalara karşılık gelen Entry örnekleri dizisi.

  • tab_id

    number isteğe bağlı

    Bu etkinliği tetikleyen sekmenin kimliği. Sekme kimlikleri, tarayıcı oturumlarında benzersizdir.

Etkinlikler

onExecute

chrome.fileBrowserHandler.onExecute.addListener(
  callback: function,
)

Dosya sistemi işlemi ChromeOS dosya tarayıcısından yürütüldüğünde tetiklenir.

Parametreler