DataTransferItem:getAsFile() 方法
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2016年11月.
如果 DataTransferItem 是一个文件, DataTransferItem.getAsFile() 方法将返回拖放项数据的 File 对象。如果拖放项的数据不是一个文件,则返回 null.
语法
js
getAsFile()
参数
无。
返回值
示例
下述示例展示了 getAsFile() 在 drop 事件处理器中的用法。
js
function dropHandler(ev) {
console.log("Drop");
ev.preventDefault();
for (const item of ev.dataTransfer.items) {
if (item.kind === "string" && item.type.match("^text/plain")) {
// 项目是目标节点
item.getAsString((s) => {
ev.target.appendChild(document.getElementById(s));
});
} else if (item.kind === "string" && item.type.match("^text/html")) {
// 拖动数据项时 HTML
console.log("… Drop: HTML");
} else if (item.kind === "string" && item.type.match("^text/uri-list")) {
// 拖动数据项是 URI
console.log("… Drop: URI");
} else if (item.kind === "file" && item.type.match("^image/")) {
// 拖动数据项是图像文件
const f = item.getAsFile();
console.log("… Drop: File");
}
}
}
规范
| Specification |
|---|
| HTML> # dom-datatransferitem-getasfile-dev> |