DataTransferItem.getAsFile()

This article needs a technical review. How you can help.

The DataTransferItem.getAsFile() method returns the drag data item's File object if the item is a file. If the item is not a file, this method returns null.

Syntax

File dataTransferItem.getAsFile();

Arguments

None.

Return value

File
If the drag data item is a file, a File object is returned; otherwise null is returned.

Example

This example shows the use of the getAsFile() method in a drop event handler.

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'))) {
     // This item is the target node
     data[i].getAsString(function (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
     var f = data[i].getAsFile();
     console.log("... Drop: File ");
   }
 }
}

Specifications

Specification Status Comment
WHATWG HTML Living Standard
The definition of 'getAsFile()' in that specification.
Living Standard  
HTML5.1
The definition of 'getAsFile()' in that specification.
Working Draft Not included in W3C HTML5 Recommendation

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 4 No support No support 12 No support
Feature Android Android Webview Chrome for Android Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile
Basic support No support No support No support No support No support No support No support No support

See Also

Document Tags and Contributors

 Contributors to this page: rolfedh, AFBarstow
 Last updated by: rolfedh,