DataTransferItem.getAsFile()
如果 DataTransferItem
是一个文件,那 DataTransferItem.getAsFile()
方法将返回拖拽项数据的 File
对象。如果拖拽项的数据不是一个文件,则返回 null
.
语法
File = DataTransferItem.getAsFile();
参数
无。
返回值
例子
下面这个例子中使用 getAsFile()
。放在 drop
事件处理里面。
js
function drop_handler(ev) {
console.log("Drop");
ev.preventDefault();
var data = event.dataTransfer.items;
for (var i = 0; i < data.length; i += 1) {
if (data[i].kind == "string" && data[i].type.match("^text/plain")) {
// 遍历拖拽项的内容
data[i].getAsString(function (s) {
ev.target.appendChild(document.getElementById(s));
});
} else if (data[i].kind == "string" && data[i].type.match("^text/html")) {
// 拖拽项的数据是 HTML
console.log("... Drop: HTML");
} else if (
data[i].kind == "string" &&
data[i].type.match("^text/uri-list")
) {
// 拖拽项的数据是 URI
console.log("... Drop: URI");
} else if (data[i].kind == "file" && data[i].type.match("^image/")) {
// 拖拽项的数据是一个图片
var f = data[i].getAsFile();
console.log("... Drop: File ");
}
}
}
规范
Specification |
---|
HTML Standard # dom-datatransferitem-getasfile-dev |
浏览器兼容性
BCD tables only load in the browser