chrome.fileBrowserHandler

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ükleyebilmesini sağlamak için bu API'yi kullanabilirsiniz.

Kavramlar ve kullanım

Kullanıcı Alt+Üst Karakter+M tuşlarına bastığında veya SD kart, USB anahtarı, harici sürücü ya da dijital kamera gibi harici bir depolama cihazını bağladığında ChromeOS dosya tarayıcısı gösterilir. Dosya tarayıcısı, dosyaları harici cihazlarda 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ısı 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" içeren bir dosya seçiliyor sonek, "Galeriye Kaydet" ile sonuçlanır kullanıcının tıklayabileceği düğmedir.

ChromeOS dosya tarayıcısı.
ChromeOS dosya tarayıcısı.

İzinler

fileBrowserHandler

Uzantı manifest'inde "fileBrowserHandler" iznini beyan etmeniz gerekir.

Kullanılabilirlik

Yalnızca ChromeOS Yalnızca ön plan

Uzantıyı en az bir dosya türünün işleyicisi olarak kaydetmek için "file_browser_handlers" alanını kullanmanız gerekir. Ayrıca, düğme üzerinde görüntülenecek 16x16 boyutunda bir simge sağlamalısınız. Ö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şleyicisi 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ısı 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 aktarıldı:

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.
details
Etkinliği açıklayan bir nesne. Kullanıcının seçtiği dosyayı veya dosyaları, bu nesnenin FileSystemFileEntry nesne dizisi olan entries alanından alabilirsiniz.

Türler

FileHandlerExecuteEventDetails

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

Özellikler

  • entries

    herhangi biri[]

    Bu işlemin hedefi olan dosyaları temsil eden giriş örnekleri dizisi (ChromeOS dosya tarayıcısında seçilir).

  • tab_id

    sayı isteğe bağlı

    Bu etkinliği oluşturan sekmenin kimliği. Sekme kimlikleri, tarayıcı oturumunda benzersizdir.

Etkinlikler

onExecute

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

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

Parametreler