Skip to content

A simple file upload component for Vue.js. Emits events for XHR Upload Progress for nice progress bars.

License

Notifications You must be signed in to change notification settings

eComEvo/vue-file-upload-component

 
 

Repository files navigation

vue-file-upload-component

A simple file upload component for Vue.js. Emits events for XHR Upload Progress for nice progress bars.

I came up with the original idea when looking at this repo. I knew I wanted a nice component with upload progress and so I copied some code from that library.

Install

Available through npm as vue-file-upload-component. Or include as an inline script, like in example.html.

Demo

In order to use the demo, you need to have PHP setup and this project running under a server. There is a script in the root called upload.php, which is a simple script to handle single file uploads. Most likely you will have your own way of handling files.

Setting Headers

You can set headers for the submission by using the attribute v-bind:headers="xhrHeaders". xhrHeaders may look something like this:

// ... Vue stuff above
data: {
  xhrHeaders: {
    "X-CSRF-TOKEN": "32charactersOfRandomStringNoise!"
  }
},
// ... more stuff below

You can set many headers in the object.

Caveats

This upload script only uploads 1 file at a time. The upload handler uses Promises internally to know when all the files are uploaded.

If you are using Internet Explorer, you will probably need a polyfill. I have used this one before and it is small and well tested.

You also need support for FormData but it has higher support than Promises so you are probably fine.

About

A simple file upload component for Vue.js. Emits events for XHR Upload Progress for nice progress bars.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 53.8%
  • HTML 32.1%
  • PHP 14.1%