webuploader上传文件,图片

摘要:
WebUploader是由BaiduWebFE团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件。--引入CSS--˃WebUploader只包含文件上传的底层实现,不包括UI部分。//文件上传jQuery(function(){var$=jQuery,$list=$('#thelist'),$btn=$('#ctlBtn'),state='pending',BASE_URL='~/Scripts/webuploader-0.1.5/',uploader;uploader=WebUploader.create({//不压缩imageresize:false,//swf文件路径swf:BASE_URL+'Uploader.swf',//文件接收服务端。--用来存放文件信息--˃选择文件开始上传3.后台代码后台代码与语言无关,主要是在后台接受一个名为“file”的数据流文件。这里是使用asp.netmvc模式下接收的:publicActionResultWebUploaderSave{ifreturnContent("请选择文件!

WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件。官方地址:http://fex.baidu.com/webuploader/

1. 引入资源

使用Web Uploader文件上传需要引入三种资源:JS, CSS, SWF。

<!--引入CSS-->
<link rel="stylesheet" type="text/css" href="http://t.zoukankan.com/webuploader文件夹/webuploader.css">
<!--引入JS-->
<script type="text/javascript" src="http://t.zoukankan.com/webuploader文件夹/webuploader.js"></script>
<!--SWF在初始化的时候指定,在后面将展示-->

WebUploader只包含文件上传的底层实现,不包括UI部分。所以交互方面可以自由发挥,以下将演示如何去实现一个简单的版本。

2.Html部分

首先准备dom结构,包含存放文件信息的容器、选择按钮和上传按钮三个部分。

<link href="http://t.zoukankan.com/~/Scripts/webuploader-0.1.5/webuploader.css" rel="stylesheet" />
<script src="http://t.zoukankan.com/~/Scripts/jquery-2.1.4.js"></script>
<script src="http://t.zoukankan.com/~/Scripts/webuploader-0.1.5/webuploader.js"></script>
<script type="text/javascript">
    // 文件上传
    jQuery(function () {
        var $ = jQuery,
            $list = $('#thelist'),
            $btn = $('#ctlBtn'),
            state = 'pending',
            BASE_URL = '~/Scripts/webuploader-0.1.5/',
            uploader;
        uploader = WebUploader.create({
            // 不压缩image
            resize: false,
            // swf文件路径
            swf: BASE_URL + 'Uploader.swf',
            // 文件接收服务端。
            server: '@Url.Action("WebUploaderSave")',
            // 选择文件的按钮。可选。
            // 内部根据当前运行是创建,可能是input元素,也可能是flash.
            pick: '#picker'
        });
        // 当有文件添加进来的时候
        uploader.on('fileQueued', function (file) {
            $list.append('<div id="' + file.id + '" class="item">' +
                '<h4 class="info">' + file.name + '</h4>' +
                '<p class="state">等待上传...</p>' +
            '</div>');
        });
        // 文件上传过程中创建进度条实时显示。
        uploader.on('uploadProgress', function (file, percentage) {
            var $li = $('#' + file.id),
                $percent = $li.find('.progress .progress-bar');
            // 避免重复创建
            if (!$percent.length) {
                $percent = $('<div class="progress progress-striped active">' +
                  '<div   role="progressbar" style=" 0%">' +
                  '</div>' +
                '</div>').appendTo($li).find('.progress-bar');
            }
            $li.find('p.state').text('上传中');
            $percent.css('width', percentage * 100 + '%');
        });
        uploader.on('uploadSuccess', function (file,result) {
            $('#' + file.id).find('p.state').text('已上传');
        });
        uploader.on('uploadError', function (file, code) {
            $('#' + file.id).find('p.state').text('上传出错');
        });
        uploader.on('all', function (type) {
            if (type === 'startUpload') {
                state = 'uploading';
            } else if (type === 'stopUpload') {
                state = 'paused';
            } else if (type === 'uploadFinished') {
                state = 'done';
            }
            if (state === 'uploading') {
                $btn.text('暂停上传');
            } else {
                $btn.text('开始上传');
            }
        });
        $btn.on('click', function () {
            if (state === 'uploading') {
                uploader.stop();
            } else {
                uploader.upload();
            }
        });
    });
</script>
<h2>Index</h2>
<div   class="wu-example">
    <!--用来存放文件信息-->
    <div   class="uploader-list"></div>
    <div class="btns">
        <div id="picker">选择文件</div>
        <button   class="btn btn-default">开始上传</button>
    </div>
</div>

3.后台代码

后台代码与语言无关,主要是在后台接受一个名为“file”的数据流文件。这里是使用asp.net mvc模式下接收的:

 publicActionResult WebUploaderSave(HttpPostedFileBase file)
        {
            if (file == null)
                return Content("请选择文件!");
            string savePath = Server.MapPath("~/Template/");
            file.SaveAs(savePath +file.FileName);
            return Content("上传成功!");
        }

4.完成效果

选择文件:

webuploader上传文件,图片第1张

点击开始上传

webuploader上传文件,图片第2张

免责声明:文章转载自《webuploader上传文件,图片》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇(转)eclipse 导入Android 项目 步骤Log4net源码View之Logger解析下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

webuploader分片文件上传

首先将插件放在 public下   html代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="https...

对百度WebUploader开源上传控件的二次封装,精简前端代码(两句代码搞定上传)

首先声明一下,我这个是对WebUploader开源上传控件的二次封装,底层还是WebUploader实现的,只是为了更简洁的使用他而已. 下面先介绍一下WebUploader 简介: WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件。在现代的浏览器里面能充分发挥HTML5的优势...

webuploader在IE8/9下上传遇到的两个问题

最近在做图片上传功能。 点击一个按钮,弹出一个iframe,它是百度的webuploader插件 在点击关闭按钮时,IE9下总是会报错:__flash__removeCallback未定义错误 解决办法很简单,就是在关闭前直接清空含有此flash控件的dom元素。 原因在以下两篇博文里:http://blog.csdn.net/lanfeng330/art...

WebUploader在IE9中文件选择按钮点击没反应

一、问题:   最近做的公司项目里,用户环境一直用的火狐,但是实际的用户群体都是银行人员   政府部门怎么也要用 IE,而且还有一些用的IE版本是古董版本IE9   IE9 相比 IE8 多了图像渲染等,无法兼容低版本的页面   项目前台用的是 easyui,兼容到IE9还是可以的,但是项目中使用的百度的文件上传插件【WebUpLoader】   在 I...

PHP 多图上传,图片批量上传插件,webuploader.js,百度文件上传插件

PHP  多图上传,图片批量上传插件,webuploader.js,百度文件上传插件(案例教程) WebUploader作用:http://fex.baidu.com/webuploader/getting-started.html 使用WebUploader还可以批量上传文件、支持缩略图等等众多参数选项可设置,以及多个事件方法可调用,你可以随心所欲的定制...

百度开源上传组件webuploader 可上传多文件并带有进度条

//上传多文件 functionUploadMultiFile() { var uploader =WebUploader.create({ //选完文件后,是否自动上传。 auto: true, //swf文件路径 swf...