JSPM

  • Created
  • Published
  • Downloads 4825107
  • Score
    100M100P100Q200670F
  • License MIT

Convert DataTransfer object to a list of File objects

Package Exports

  • file-selector

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (file-selector) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

File Selector

A small package for converting a DragEvent or file input to a list of File objects.

npm GitHub Workflow Status Coveralls github branch

Table of Contents

Installation


You can install this package from NPM:

npm add file-selector

Or with Yarn:

yarn add file-selector

CDN

For CDN, you can use unpkg:

https://unpkg.com/file-selector/dist/bundles/file-selector.umd.min.js

The global namespace for file-selector is fileSelector:

const {fromEvent} = fileSelector;
document.addEventListener('drop', async evt => {
    const files = await fromEvent(evt);
    console.log(files);
});

Usage


ES6

Convert a DragEvent to File objects:

import {fromEvent} from 'file-selector';
document.addEventListener('drop', async evt => {
    const files = await fromEvent(evt);
    console.log(files);
});

Convert a file input to File objects:

import {fromEvent} from 'file-selector';
const input = document.getElementById('myInput');
input.addEventListener('change', async evt => {
    const files = await fromEvent(evt);
    console.log(files);
});

CommonJS

Convert a DragEvent to File objects:

const {fromEvent} = require('file-selector');
document.addEventListener('drop', async evt => {
    const files = await fromEvent(evt);
    console.log(files);
});

Browser Support


Most browser support basic File selection with drag 'n' drop or file input:

For folder drop we use the FileSystem API which has very limited support:

Contribute


If you wish to contribute, please use the following guidelines:

Credits