DataTransferItem.getAsFile()

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

Syntax

File = DataTransferItem.getAsFile();

Parameters

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 Initial value
HTML5.1
The definition of 'getAsFile()' in that specification.
Recommendation Snapshot of the HTML WHATWG document

Browser compatibility

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

See also

Document Tags and Contributors

 Contributors to this page: erikadoyle, teoli, Sheppy, rolfedh, AFBarstow
 Last updated by: erikadoyle,