添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

file-dialog
TypeScript icon, indicating that this package has built-in type declarations

0.0.8 Public • Published

file-dialog

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
  • Supports selecting multiple files and the file type 'accepts' attribute (see examples below)
  • Support for all major browsers
  • Install

    For Webpack/Browserify projects...

  • npm install file-dialog --save
  • Require it const fileDialog = require('file-dialog') or with ES6 modules import fileDialog from 'file-dialog'
  • Note: If you want to support older browsers make sure you have babel enabled.
  • Classic <script> includes

  • Include minified file-dialog.min.js via <script>
  • 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 only an image file

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

    Allow user to select only images or videos

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

    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