Spec-Zone.ru › Web APIs

DataTransferItem: метод getAsFile()

Базовая поддержка Широко поддерживается

Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Если элемент — это файл, метод DataTransferItem.getAsFile() возвращает объект File элемента перетаскиваемого данных. Если элемент не является файлом, метод возвращает null.

Синтаксис

getAsFile()

Параметры

Нет.

Возвращаемое значение

File

Если элемент перетаскиваемого данных — файл, возвращается объект File; в противном случае возвращается null.

Примеры

В этом примере показано использование метода getAsFile() в обработчике события drop.

function dropHandler(ev) {
  console.log("Drop");
  ev.preventDefault();
  const data = ev.dataTransfer.items;
  for (let i = 0; i < data.length; i += 1) {
    if (data[i].kind === "string" && data[i].type.match("^text/plain")) {
      // This item is the target node
      data[i].getAsString((s) => {
        ev.target.appendChild(document.getElementById(s));
      });
    } else if (data[i].kind === "string" && data[i].type.match("^text/html")) {
      // Drag data item is HTML
      console.log("… Drop: HTML");
    } else if (
      data[i].kind === "string" &&
      data[i].type.match("^text/uri-list")
    ) {
      // Drag data item is URI
      console.log("… Drop: URI");
    } else if (data[i].kind === "file" && data[i].type.match("^image/")) {
      // Drag data item is an image file
      const f = data[i].getAsFile();
      console.log("… Drop: File");
    }
  }
}

Спецификации

Спецификация
HTML
# dom-datatransferitem-getasfile-dev

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
getAsFile 11 12 50 12 5.1 18 50 ≤14 5 1.0 4

См. также

  • DataTransfer.files

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem/getAsFile

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API