From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../web/api/datatransferitem/getasfile/index.html | 94 ++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 files/zh-cn/web/api/datatransferitem/getasfile/index.html (limited to 'files/zh-cn/web/api/datatransferitem/getasfile') diff --git a/files/zh-cn/web/api/datatransferitem/getasfile/index.html b/files/zh-cn/web/api/datatransferitem/getasfile/index.html new file mode 100644 index 0000000000..c1f1326629 --- /dev/null +++ b/files/zh-cn/web/api/datatransferitem/getasfile/index.html @@ -0,0 +1,94 @@ +--- +title: DataTransferItem.getAsFile() +slug: Web/API/DataTransferItem/getAsFile +tags: + - API + - DataTransferItem +translation_of: Web/API/DataTransferItem/getAsFile +--- +
{{APIRef("HTML Drag and Drop API")}}
+ +

如果DataTransferItem是一个文件, 那 DataTransferItem.getAsFile()  方法将返回拖拽项数据的 {{domxref("File")}} 对象. 如果拖拽项的数据不是一个文件,则返回 null.

+ +

语法

+ +
File = DataTransferItem.getAsFile();
+
+ +

参数

+ +

无.

+ +

返回值

+ +
+
{{domxref("File")}}
+
如果拖拽项的对象是一个文件, 则返回 {{domxref("File")}} 对象; 否则返回 null .
+
+ +

例子

+ +

下面这个例子中使用 getAsFile() 。放在 {{event("drop")}} 事件处理里面.

+ +
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 ");
+   }
+ }
+}
+
+ +

规范

+ + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('HTML WHATWG', 'interaction.html#dom-datatransferitem-getasfile','getAsFile()')}}{{Spec2('HTML WHATWG')}}Initial value
{{SpecName('HTML5.1', 'editing.html#dom-datatransferitem-getasfile','getAsFile()')}}{{Spec2('HTML5.1')}}Snapshot of the HTML WHATWG document
+ +

浏览器兼容

+ + + +

{{Compat("api.DataTransferItem.getAsFile")}}

+ +

查看更多

+ + -- cgit v1.2.3-54-g00ecf