# vue-upload-component
> Vue.js file upload component, Support for multiple file uploads, progress, html4, ie9
**Html4 does not support the progress bar, file size, accept, timeout, headers, response status code error of judgment**
## Install
``` bash
npm install vue-upload-component@next --save
```
### CommonJS
```js
var FileUpload = require('vue-upload-component');
new Vue({
template: '',
components: {
FileUpload: FileUpload
}
})
```
### ES6
```js
import FileUpload from 'vue-upload-component'
new Vue({
template: '',
components: {
FileUpload
}
})
```
## Examples
https://lian-yue.github.io/vue-upload-component/
https://github.com/lian-yue/vue-upload-component/tree/2.0/examples/
``` html
```
## Build Setup
``` bash
# install dependencies
npm install
# serve with hot reload at localhost:8080
npm run dev
# build for production with minification
npm run build
```
# Setting
## Props
``` html
```
### Props events
``` js
events: {
add(file, component) {
console.log('add');
if (this.auto) {
component.active = true;
}
file.headers['X-Filename'] = encodeURIComponent(file.name)
file.data.finename = file.name
// file.putAction = 'xxx'
// file.postAction = 'xxx'
},
progress(file, component) {
console.log('progress ' + file.progress);
},
after(file, component) {
console.log('after');
},
before(file, component) {
console.log('before');
}
}
```
### Props files
``` js
[
{
id: 'String', // Read only
name: 'filename String',
size: 'filesize Number', // -1 = html4
progress: 'progress String', // Read only
speed: "Speed Number", // Read only
active: 'active Boolean', // set active = fasle abort upload
error: 'error String', // Read only
success: 'success Boolean', // Read only
response: 'Response data Object or String', // Read only
putAction: 'String uri',
postAction: 'String uri',
timeout: "Number",
headers: {
"X-Csrf-Token": "xxxx",
},
data: {
"_csrf_token": "xxxxxx",
},
xhr: "False or XMLHttpRequest object", // html5
iframe: "False or Element object", // html4
file: "undefined or File object" // html5
el: "undefined or Input object"
}
]
```
## data
``` js
{
mode: 'html5', // html5 or html4
active: false, // set active = fasle abort upload
uploaded: true, // Read only
dropActive: false, // Read only
destroy: false, // Read only Component destroy = true
}
```
## methods
````
clear() // Clear all files
remove(id or file Object) // Remove a file return file object or false
abort(id or file Object) // Stop a file upload return file object or false
```