Back to all examples

Information

This example shows how to handle events triggered by kendoUpload.

Console log

PHP
<?php
require_once '../lib/Kendo/Autoload.php';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $type = $_GET['type'];


    if ($type == 'save') {
        $files = $_FILES['files'];
        // save the files
    } else if ($type == 'remove') {
        $fileNames = $_POST['fileNames'];
        // delete the files
    }

    // Return an empty string to signify success
    echo '';

    exit;
}
?>
<div class="box">
    <h4>Information</h4>
    <p>
        This example shows how to handle events triggered by kendoUpload.
    </p>
</div>
<div class="demo-section k-content">
<?php
$upload = new \Kendo\UI\Upload('files[]');
$upload->async(array(
        'saveUrl' => 'async.php?type=save',
        'removeUrl' => 'async.php?type=remove',
        'autoUpload' => true
    ))
     ->select('onSelect')
     ->upload('onUpload')
     ->success('onSuccess')
     ->error('onError')
     ->complete('onComplete')
     ->remove('onRemove')
     ->progress('onProgress');

echo $upload->render();
?>
</div>
<div class="box">
    <h4>Console log</h4>
    <div class="console"></div>
</div>
<script>
    function onSelect(e) {
        kendoConsole.log("Select :: " + getFileInfo(e));
    }

    function onUpload(e) {
        kendoConsole.log("Upload :: " + getFileInfo(e));
    }

    function onSuccess(e) {
        kendoConsole.log("Success (" + e.operation + ") :: " + getFileInfo(e));
    }

    function onError(e) {
        kendoConsole.log("Error (" + e.operation + ") :: " + getFileInfo(e));
    }

    function onComplete(e) {
        kendoConsole.log("Complete");
    }

    function onCancel(e) {
        kendoConsole.log("Cancel :: " + getFileInfo(e));
    }

    function onRemove(e) {
        kendoConsole.log("Remove :: " + getFileInfo(e));
    }

    function onProgress(e) {
        kendoConsole.log("Upload progress :: " + e.percentComplete + "% :: " + getFileInfo(e));
    }

    function getFileInfo(e) {
        return $.map(e.files, function(file) {
            var info = file.name;

            // File size is not available in all browsers
            if (file.size > 0) {
                info  += " (" + Math.ceil(file.size / 1024) + " KB)";
            }
            return info;
        }).join(", ");
    }
</script>