Skip to content

Trigger the file dialog directly from your code easily.

Notifications You must be signed in to change notification settings

anwerso/file-dialog

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

file-dialog

npm version PRs Welcome

Directly call the file browser dialog from your code, and get back the resulting array of FileList. Handy for when you need to post files via AJAX/Fetch. No more hacky hiding of <input type="file"> elements. Support for Callbacks & Promises!

  • Supports CommonJS, AMD, and global
  • No JQuery needed, tiny (1.25 KB), with no dependencies
  • Support for all major browsers

alt text

Install

For Browserify and Webpack projects...

  1. npm install file-dialog
  2. Require it const fileDialog = require('file-dialog')
  3. Note: If you want to support older browsers make sure you have babel enabled.

Classic <script> includes

  1. Include minified file-dialog.min.js via <script>
  2. Module is binded to the global variable fileDialog

Examples

Get a File via a promise and POST to server via Fetch

    
fileDialog()
    .then(file => {
        const data = new FormData()
        data.append('file', file[0])
        data.append('imageName', 'flower')

        // Post to server
        fetch('/uploadImage', {
            method: 'POST',
            body: data
        })
    })

Allow user to select multiple image files at once

    
fileDialog({ multiple: true, accept: 'image/*' })
    .then(files => {
        // files contains an array of FileList
    })

Classic callback version of the above

    
fileDialog({ multiple: true, accept: 'image/*' }, files => {
    // files contains an array of FileList
})

About

Trigger the file dialog directly from your code easily.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • JavaScript 100.0%