Vue.js file upload component, Multi-file upload, Upload directory, Drag upload, Drag the directory, Upload multiple files at the same time, html4 (IE 9), `PUT` method, Customize the filter
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
git 03278cb454
update Vue 2.x link
9 years ago
dist fix #10 title to interpolate html 9 years ago
src fix title to interpolate html 9 years ago
.babelrc v0.1.0 10 years ago
.gitignore Add .gitignore, .babelrc 10 years ago
LICENSE Initial commit 10 years ago
README.md update Vue 2.x link 9 years ago
index.html fix #10 title to interpolate html 9 years ago
package.json fix #10 title to interpolate html 9 years ago
webpack.config.build.js v0.1.1 update bug import README.md document 10 years ago
webpack.config.build.min.js v0.1.1 update bug import README.md document 10 years ago
webpack.config.js fix #7 9 years ago

README.md

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

    npm install vue-upload-component --save

Vue 2.x

https://github.com/lian-yue/vue-upload-component/tree/2.0

    npm install vue-upload-component@next --save

CommonJS

    var FileUpload = require('vue-upload-component');

    new Vue({
        template: '<file-upload post-action="/post.method" put-action="/put.method"></file-upload>',
        components: {
            FileUpload: FileUpload
        }
    })

ES6

    import FileUpload from 'vue-upload-component'
    new Vue({
        template: '<file-upload post-action="/post.method" put-action="/put.method"></file-upload>',
        components: {
            FileUpload
        }
    })

Example

https://lian-yue.github.io/vue-upload-component/

    <!-- Example file ./index.html -->
    <!-- Example file ./src/example.js -->
    <div id="app">
        <file-upload title="Add upload files"></file-upload>
    </div>

    <script type="text/javascript">
    var FileUpload = require('vue-upload-component');

    new Vue({
        el:'#app',
        components: {
            FileUpload:FileUpload,
        },
    });
    </script>

Build Setup

# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build

$dispatch, methods

addFileUpload

removeFileUpload

fileUploadProgress

beforeFileUpload

afterFileUpload

Setting

Data

    {
        files: [
            {
                id: 'String', // Read only
                name: 'filename String',
                size: 'filesize   Number',
                progress: 'progress String', // Read only
                speed: "Speed Number", // Read only
                active: 'active Boolean',
                error: 'error String',
                errno: 'errno String',
                success: 'success Boolean', // Read only
                data: 'Response data Object or String', // Read only
                request: {
                    headers: {
                        "X-Csrf-Token": "xxxx",
                    },
                    data: {
                        "_csrf_token": "xxxxxx",
                    },
                },
            }
        ],


        // Global
        request: {
            headers: {
                "X-Csrf-Token": "xxxx",
            },
            data: {
                "_csrf_token": "xxxxxx",
            },
        },


        active: false,

        uploaded: true,  // Read only

        dropActive: false,  // Read only
    }

Props

    <file-upload :title="Add upload files" :name="file" :drop="Boolean (true = $parent) or Element or Css Selector" :extensions="Array or String or Regular" :post-action="./post.method" :put-action="./put.method" :accept="accept"  :multiple="true" :size="size" :timeout="3600000"></file-upload>
    title="Add upload files"

    name="post file name"

    drop="Boolean (true = $parent) or Element or Css Selector"

    extensions="Array or String or Regular" :post-action="./post.method"

    post-action="./post.method"

    put-action="./put.method"

    accept="accept"

    multiple="true or false"

    size="max Size"

    timeout="3600000"