webuploader插件单个文件上传(带进度条)

@{
    ViewBag.Title = "主页";
}

<script src="~/Scripts/jquery-1.9.1.min.js"></script>
<link href="~/Scripts/1/bootstrap.css" rel="stylesheet" />
<link href="~/Scripts/1/webuploader.css" rel="stylesheet" />

<script src="~/Scripts/1/webuploader.js"></script>
<script src="~/Scripts/1/bootstrap.min.js"></script>
@*<script src="~/Scripts/1/webuploader.js"></script>*@

<div id="uploader" class="wu-example">
    <!--用来存放文件信息-->
    <div id="thelist" class="uploader-list"></div>
    <div class="btns">
        <div id="picker">选择文件</div>

    </div>
</div>

<span style="font-size: 14px;">
    <script type="text/javascript">
        $(function () {
            /*init webuploader*/
            var $list = $("#thelist");   //这几个初始化全局的百度文档上没说明,好蛋疼。
            var $btn = $("#ctlBtn");   //开始上传
            var uploader = WebUploader.create({
                auto: true,
                // swf文件路径
                swf: ‘/Scripts/1/Uploader.swf‘,

                // 文件接收服务端。
                server: ‘/Home/ii/‘,

                // 选择文件的按钮。可选。
                // 内部根据当前运行是创建,可能是input元素,也可能是flash.
                pick: {
                    id: ‘#picker‘,
                    //只能选择一个文件上传
                    multiple: false
                },
                fileSingleSizeLimit: 100 * 1024 * 1024,   //设定单个文件大小
                //限制只能上传一个文件
                fileNumLimit: 1,

                // 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传!
                resize: false,

                // 只允许选择excel表格文件。
                accept: {
                    title: ‘Applications‘,
                    extensions: ‘xls,xlsx,doc,docx,ppt,pptx,flv,mp4,jpg,png‘,
                    mimeTypes: ‘application/xls,application/xlsx,application/doc,application/docx,application/ppt,application/pptx,image/jpg,image/png‘
                }

            });
            // 当有文件被添加进队列的时候
            uploader.on(‘fileQueued‘, function (file) {
                var $li = $(‘#‘ + file.id),
                      $percent = $li.find(‘.info‘);
                console.log($percent);
                if (!$percent.length) {
                    $list.html(‘<div id="‘ + file.id + ‘" class="item">‘ +
                     ‘<h4 class="info">‘ + file.name + ‘</h4>‘ +
                     ‘<p class="state">等待上传...</p>‘ +
                    ‘</div>‘);
                }
            });

            /**
  * 验证文件格式以及文件大小
  */
            uploader.on("error", function (type) {
                          if (type == "Q_TYPE_DENIED") {
                             alert("格式不正确");
                          } else if (type == "F_EXCEED_SIZE") {
                              alert("文件大小超过限制");
                          }
                      });

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

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

                $li.find(‘p.state‘).text(‘上传中‘);

                $percent.css(‘width‘, percentage * 100 + ‘%‘);
            });
            uploader.on(‘uploadSuccess‘, function (file) {
                $(‘#‘ + file.id).find(‘p.state‘).text(‘已完成‘);
            });

            uploader.on(‘uploadError‘, function (file) {
                $(‘#‘ + file.id).find(‘p.state‘).text(‘上传出错‘);
            });

            uploader.on(‘uploadComplete‘, function (file) {
                //$(‘#‘ + file.id).find(‘.progress‘).fadeOut();
                //上传完成后重启upload,只能单个上传

            });
        });
    </script>
</span>

  

时间: 2024-08-05 21:49:00

webuploader插件单个文件上传(带进度条)的相关文章

atitit.文件上传带进度条的实现原理and组件选型and最佳实践总结O7

1. 实现原理 1 2. 大的文件上传原理::使用applet 1 3. 新的bp 2 1. 性能提升---分割小文件上传,避免一次使用内存使用过大的 2 2. Uuid还是原来文件名称:: 2 3. 监听器频繁地被调用 2 4. 结合wz easyui 2 4. 选型 2 5. Uploadify::yash js+flash 3 6. commons-fileupload:: 3 7. COS这个工具O'Reilly公司 3 8. 大的文件上传组件总结 3 5. 林吧实现ui Ajax+jq

atitit. 文件上传带进度条 atiUP 设计 java c# php

atitit. 文件上传带进度条 atiUP 设计 java c# php 1. 设计要求 1 2. 原理and 架构 1 3. ui 2 4. spring mvc 2 5. springMVC.xml 3 6. struts extand url 3 7. behide code 3 8. 简化设计 3 1. 设计要求 带进度条 完成提示动画效果.. 2. 原理and 架构 如果需要显示进度条,实时显示文件上传进度 需要使用Ajaxj技术..up到个在的iframe黑头.. 工作原理 其实际

Struts2文件上传带进度条,虽然不是很完美

好久没有写东西,最近在做个项目,要用到文件h 传的,以前虽然也做上传,但是总觉得不好用 ,现在和队友合作做了一个带进度条的上传,觉得还行~~和大家分享一下. 首先说一下大概是这样实现的,在我们平时的上传表单里面,除了文件上传之外,也许还有其他的信息需要填写的,这样问题就来了:点击上传按钮之后,这个表单都封装并提交上去了,在上传完成后整个页面就跳转了.而且也不利于我们验证用户输入.很多人这样做的,把这2个操作分开,当然这样也行... 我们这样做:一个普通页面(可以用于填写所有信息的),一个文件上传

php实现大文件上传带进度条

1.使用PHP的创始人 Rasmus Lerdorf 写的APC扩展模块来实现(http://pecl.php.net/package/apc) APC实现方法: 安装APC,参照官方文档安装,可以使用PECL模块安装方法快速简捷,这里不说明 配置php.ini,设置参数 apc.rfc1867=1 ,使APC支持上传进度条功能,在APC源码说明文档里面有说明 代码范例: 大文件(50G)上传的实现细节: 服务端接收文件数据的处理逻辑代码: 2.使用PECL扩展模块uploadprogress实

HTML5 + AJAX ( jQuery版本 ) 文件上传带进度条

页面技术:HTML5 + AJAX ( jQuery) 后台技术:Servlet 3.0 jQuery版本:1.9.1 后台Servlet代码这里就省略了,使用的是 AJAX请求遭遇未登录和Session失效的解决方案 这篇文章里面的后台Servlet.所以这里只看前台的JS代码. 首先HTML5用AJAX提交数据先要学习一个HTML5新增加的对象:FormData  FormData 对象可以使用append 方法进行 key - value的数据添加,与以前我们常用的json不同的就是可以异

html5 文件上传 带进度条

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <ti

asp.net web大文件上传带进度条实例代码

using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.Ht

简单实现一个文件上传的进度条

新手初学web 文件上传做完了 进度做了 没有进度条只有文字 不太好看  需要做个进度条  没有美工 网上很多的 进度条 需要图片 还有各种框架 看着好麻烦 只好自己弄一个 还挺简单的 没想象的那么复杂  分享一下 jsp页面 <tr> <td width="100">图片</td> <td> <div style="width: 450px;"> <div class="file-box&

jQuery.uploadify-----文件上传带进度条,支持多文件上传的插件

借鉴别人总结的uploadify:基于jquery的文件上传插件,支持ajax无刷新上传,多个文件同时上传,上传进行进度显示,控制文件上传大小,删除已上传文件. uploadify有两个版本,一个用flash,一个是html5.html5的需要付费~所以这里只说flash版本的用法. uploadify官网地址:http://www.uploadify.com/ 上传文件截图: uploadify文档:http://www.uploadify.com/documentation/,在这儿可以查看