---
title: "DataTransferItem | JavaScript maps SDK"
description: "Documentation for MapTiler SDK"
---

# Interface DataTransferItem

The **`DataTransferItem`** object represents one drag data item. During a drag operation, each DragEvent has a dataTransfer property which contains a list of drag data items. Each item in the list is a DataTransferItem object.

[MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransferItem)

interface DataTransferItem {  
    [kind](#kind): string;  
    [type](#type): string;  
    [getAsFile](#getasfile-1)(): File | null;  
    [getAsString](#getasstring-1)(callback: [FunctionStringCallback](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.FunctionStringCallback/) | null): void;  
    [webkitGetAsEntry](#webkitgetasentry-1)(): [FileSystemEntry](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.FileSystemEntry/) | null;  
}

##### Index

### Properties[](#properties)

[kind](#kind) [type](#type)

### Methods[](#methods)

[getAsFile](#getasfile) [getAsString](#getasstring) [webkitGetAsEntry](#webkitgetasentry)

## Properties[](#properties-1)

### `Readonly`kind[](#kind)

kind: string

The read-only **`DataTransferItem.kind`** property returns the kind–a string or a file–of the DataTransferItem object representing the drag data item.

[MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransferItem/kind)

### `Readonly`type[](#type)

type: string

The read-only **`DataTransferItem.type`** property returns the type (format) of the DataTransferItem object representing the drag data item. The type is a Unicode string generally given by a MIME type, although a MIME type is not required.

[MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransferItem/type)

## Methods[](#methods-1)

### getAsFile[](#getasfile)

-   getAsFile(): File | null[](#getasfile-1)
    
    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.
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransferItem/getAsFile)
    
    #### Returns File | null
    

### getAsString[](#getasstring)

-   getAsString(callback: [FunctionStringCallback](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.FunctionStringCallback/) | null): void[](#getasstring-1)
    
    The **`DataTransferItem.getAsString()`** method invokes the given callback with the drag data item's string data as the argument if the item's kind is a Plain unicode string (i.e., kind is string).
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransferItem/getAsString)
    
    #### Parameters
    
    -   callback: [FunctionStringCallback](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.FunctionStringCallback/) | null
    
    #### Returns void
    

### webkitGetAsEntry[](#webkitgetasentry)

-   webkitGetAsEntry(): [FileSystemEntry](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.FileSystemEntry/) | null[](#webkitgetasentry-1)
    
    If the item described by the DataTransferItem is a file, **`webkitGetAsEntry()`** returns a FileSystemFileEntry or FileSystemDirectoryEntry representing it. If the item isn't a file, null is returned.
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/DataTransferItem/webkitGetAsEntry)
    
    #### Returns [FileSystemEntry](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.FileSystemEntry/) | null
