Skip to content
This repository has been archived by the owner on Jul 16, 2021. It is now read-only.

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

james2doyle/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