All Components

Upload Overview

The Upload helps users send files from local file systems to dedicated server handlers which are configured to receive them.

The Upload wrapper for Vue is a client-side wrapper for the Kendo UI Upload widget.

Basic Usage

The following example demonstrates how to initialize the Upload.

<div id="vueapp" class="vue-app">
    <kendo-upload ref="upload"
                  name="files"
                  :async-save-url="'custom-save-url'"
                  :async-remove-url="'custom-remove-url'">
    </kendo-upload>
</div>
Vue.use(UploadInstaller);

new Vue({
    el: "#vueapp",
    mounted: function () {
        /*
            The code in this function is only added to simulate a successful upload request for this demo.
            Do not use the code in other cases when working with the Upload component.
        */
        var upload = this.$refs.upload.kendoWidget();

        upload._module.postFormData = function (url, data, fileEntry, xhr) {
            var module = this;
            fileEntry.data("request", xhr);
            setTimeout(function () {
                var e = { target: { responseText: '', statusText: "OK", status: 200 } };
                module.onRequestSuccess.call(module, e, fileEntry);
            }, 1000);
        };

        upload._submitRemove = function (fileNames, eventArgs, onSuccess, onError) {
            onSuccess();
        };
    }
})

Installation

To initialize the Upload, either:

Initializing with Webpack

  1. Install Kendo UI and add a theme.

    npm install --save @progress/kendo-ui
    npm install --save @progress/kendo-theme-default
  2. Install the Kendo UI Upload package for Vue.

    npm install --save @progress/kendo-upload-vue-wrapper
  3. Import the Kendo UI packages to the App component. If you use the Kendo UI components more than once in your application, add all Kendo UI-related files to the main.js file. If you use the Kendo UI components once in your application, add the Kendo UI-related files the component where they will be referred.

    import '@progress/kendo-ui'
    import '@progress/kendo-theme-default/dist/all.css'
    
    import { Upload, UploadInstaller } from '@progress/kendo-upload-vue-wrapper'
    
    Vue.use(UploadInstaller)
    
    new Vue({
       el: '#app',
       components: {
           Upload
       }
    })

Functionality and Features

In this article