Get a promise for a flat array of files from the 'drop' event, like <input type="file"/>.files
. Directories are traversed recursively.
const { getFilesFromDataTransferItems } = require('datatransfer-files-promise')
const dropArea = document.querySelector('.drop-area')
dropArea.addEventListener('drop', event => {
event.preventDefault()
const items = event.dataTransfer.items
getFilesFromDataTransferItems(items)
.then(files => {
...
console.log(files[0].filepath)
})
}, false)
filepath
is the property added to each file for convenience. If you don't want it for some reason then use getFilesFromDataTransferItems(items, {raw: true})
.