Web Uploader Demo示例

Web Uploader官方下载最新有一个bug,建议使用:

http://cdn.staticfile.org/webuploader/0.1.0/webuploader.js


Demo示例:

ar host = window.location.host;
var $list = $("#thelist");   //这几个初始化全局的百度文档上没说明,好蛋疼。
var $btn = $("#ctlBtn");
// 初始化Web Uploader
var uploader = WebUploader.create({

    swf: host + "/static/vendor/webuploader/Uploader.swf",    // 文件接收服务端。
    {#            server: host + '/InteractiveDataBuild/uploadDate/',#}
    server: '/InteractiveDataBuild/uploadDate/',    // 选择文件的按钮。可选。
    // 内部根据当前运行是创建,可能是input元素,也可能是flash.
    pick: '#pick',    // 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传!
    resize: false,    method: 'POST',    accept: {
        extensions: 'txt,gif'
    },});

// 当有文件被添加进队列的时候
uploader.on('fileQueued', function (file) {
    $list.append('<div id="' + file.id + '" class="item row">' +
        '<div class="info col-md-7">' + file.name + '</div>' +
        '<div class="col-md-4 state">等待上传...</div>' +
        '</div>');
});


// 文件上传过程中创建进度条实时显示。
uploader.on('uploadProgress', function (file, percentage) {
    var $li = $('#' + file.id),        $percent = $li.find('.progress .progress-bar');

    // 避免重复创建
    if (!$percent.length) {
        $percent = $('<div class="col-md-10 progress progress-striped active">' +
            '<div class="progress-bar" role="progressbar" style="width: 0%">' +
            '</div>' +
            '</div>').appendTo($li).find('.progress-bar');
    }

    $li.find('div.state').text('上传中');

    $percent.css('width', percentage * 100 + '%');
});

uploader.on('uploadAccept', function (object, ret) {
    if (ret.status == 200) {
        // 文件成功
        uploader.on('uploadSuccess', function (file) {
            $('#' + file.id).find('div.state').text('已上传');
        });

    } else {
        // 文件上传失败
        uploader.on('uploadError', function (file) {
            $('#' + file.id).find('div.state').text(ret.message);
        });
    }
});


// 文件上传完成
uploader.on('uploadComplete', function (file) {
    $('#' + file.id).find('.progress').fadeOut();
});

uploader.on('uploadBeforeSend', data, headers) {
    // block为分块数据。
    // file为分块对应的file对象。
    var file = object.file;
    // 修改data可以控制发送哪些携带数据。
    data.dataType = $('#dataType option:selected').val();
    data.fileType = $('#fileType option:selected').val();
    data.uploadType = $('#uploadType option:selected').val();
});


// 点击上传图片按钮
$btn.on('click', function () {
    if ($('#dataType option:selected').val() == 'none') {
        $('#bad_info').html("");
        $('#bad_info').append('<label style="color:red">错误信息:文件格式必须选择一个</label>')
    } else if ($('#fileType option:selected').val() == 'none') {
        $('#bad_info').html("");
        $('#bad_info').append('<label style="color:red">错误信息:数据类型必须选择一个</label>')
    }
    else if ($('#uploadType option:selected').val() == 'none') {
        $('#bad_info').html("");
        $('#bad_info').append('<label style="color:red">错误信息:上传类型必须选择一个</label>')
    }
    else {
        uploader.upload();
        console.log("上传成功");
    }

});


$('#clearBtn').on('click', function () {
    $('#thelist').html("");
    $('#bad_info').html("");
    for (var i = 0; i < uploader.getFiles().length; i++) {
        // 将图片从上传序列移除
        uploader.removeFile(uploader.getFiles()[i]);
        //uploader.removeFile(uploader.getFiles()[i], true);
        //delete uploader.getFiles()[i];
        // 将图片从缩略图容器移除
        var $li = $('#' + uploader.getFiles()[i].id);
        $li.off().remove();
    }
    // 重置文件总个数和总大小
    fileCount = 0;
    fileSize = 0;
    // 重置uploader,目前只重置了文件队列
    uploader.reset();
})



版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)