DataTransferItem.getAsFile()
アイテムがファイルの場合、 DataTransferItem.getAsFile()
メソッドはドラッグデータ項目の File
オブジェクトを返します。項目がファイルでない場合、このメソッドは null
を返します。
構文
getAsFile()
引数
なし。
返値
例
この例が、 getAsFile()
メソッドを drop
イベントハンドラー内で使用するものです。
function drop_handler(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 ");
}
}
}
仕様書
Specification |
---|
HTML Standard # dom-datatransferitem-getasfile-dev |
ブラウザーの互換性
BCD tables only load in the browser