1 完整代码

$(function() {
$("#uploader").pluploadQueue({
runtimes : 'html5,gears,flash,silverlight,browserplus,html4',//设置运行环境,会按设置的顺序,可以选择的值有html5,gears,flash,silverlight,browserplus,html4
flash_swf_url : '${pageContext.request.contextPath}/jslib/plupload_1_5_7/plupload/js/plupload.flash.swf',// Flash环境路径设置
silverlight_xap_url : '${pageContext.request.contextPath}/jslib/plupload_1_5_7/plupload/js/plupload.silverlight.xap',//silverlight环境路径设置
url : '${pageContext.request.contextPath}/UploadServlet',//上传文件路径
max_file_size : '5mb',//100b, 10kb, 10mb, 1gb
chunk_size : '100mb',//分块大小,小于这个大小的不分块
unique_names : true,//生成唯一文件名
multi_selection: false,
//multiple_queues : true,//是否可以多次上传
// 如果可能的话,压缩图片大小
// resize : { width : 320, height : 240, quality : 90 },
// 指定要浏览的文件类型
filters : [ {
title : 'Image files',
extensions : 'jpg,gif,png'
}
/* , {
title : 'Zip files',
extensions : 'zip,7z,rar'
} */
, {
title : 'Office files',
extensions : 'doc,docx,excel,ppt,txt,mpp,xls,xlsx,pdf'
}
/* , {
title : 'exe files',
extensions : 'exe,bit,bat'
} */
],
init : {
BeforeUpload:function(up,file){
/* $.post('${pageContext.request.contextPath}/docinf/docinfDoc/checkDocIsExist.do',
{name:file.name}, function(json) {
if (json.success) {
;
} else {
$.messager.show('提示', json.msg, 'info');
}
},"JSON"); */

},
FileUploaded : function(up, file, info) {//文件上传完毕触发
var response = $.parseJSON(info.response);
if (response.status) {
$("#isUploadFile").attr("value",true);//给隐藏域 赋值 表示 有上传文件
$('#form').append('<input type="hidden" name="urlfileName" value="'+file.id+'"/>');
$('#form').append('<input type="hidden" name="fileUrl" value="'+response.fileUrl+'"/>');
$('#form').append('<input type="hidden" name="fileName" value="'+file.name+'"/><br/>');
}
},

FilesAdded : function(uploader, file){
if(file[0].name.length>25) {
$.messager.show('提示',"文件名称太长!", 'info');
return;
}
if(uploader.files.length>1) { // 最多上传3张图
$.messager.show('提示',"只能上传一个文件,请删除多余文件!", 'info');
return;
}

uploader.start();
}
}
});

// 客户端表单验证
$('#form').submit(function(e) {
var uploader = $('#uploader').pluploadQueue();
if (uploader.files.length > 0) {// 判断队列中是否有文件需要上传
uploader.bind('StateChanged', function() {// 在所有的文件上传完毕时,提交表单
if (uploader.files.length === (uploader.total.uploaded + uploader.total.failed)) {
$('form')[0].submit();
}
});
uploader.start();
} else {
//alert('请选择至少一个文件进行上传!');
$.messager.show('提示', '请选择至少一个文件进行上传!', 'error');
}
return false;
});

});

2 关键代码

FilesAdded : function(uploader, file){
if(file[0].name.length>25) {
$.messager.show('提示',"文件名称太长!", 'info');
return;
}
if(uploader.files.length>1) { // 最多上传1个文件
$.messager.show('提示',"只能上传一个文件,请删除多余文件!", 'info');
return;
}

uploader.start();
}

plupload如何限制上传文件数量,限制只能上传单个文件的更多相关文章

  1. php 文件上传简单类---限制仅上传jpg文件

    php 文件上传代码,限制只能上传jpg格式文件,也可以自行添加其它扩展名的文件. <?php /* * 图片上传类 仅限JPG格式图片 * edit by www.jbxue.com at 2 ...

  2. mvc文件上传支持批量上传,拖拽以及预览,文件内容校验等

    使用bootstrap-fileinput 使用方式: 1.nuget:Install-Package bootstrap-fileinput 2.语言本地化{下载fileinput_locale_z ...

  3. SWFUpload 已上传成功数量控制 插件(用于解决队列满问题)

    当我们在使用 SWFUpload 做文件上传时,我们需要把已经上传的文件列表做一个删除, 但在我们把已上传列表删除后,再重新上传时,会发现提示 上传队列满 的问题,原因就是有一个状态对象中的一个 成功 ...

  4. html5表单上传控件Files筛选指定格式的文件:accept属性过滤excel文件

    摘自:http://blog.csdn.net/jyy_12/article/details/9851349 (IE9及以下不支持下面这些功能,其它浏览器最新版本均已支持.) 1.允许上传文件数量 允 ...

  5. 艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输)(一)

    艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输) 该系统基于开源的networkComms通讯框架,此通讯框架以前是收费的,目前已经免费并开元,作者是英国的,开发时间5年多,框架很稳定. 项 ...

  6. MVC文件上传-使用jQuery.FileUpload和Backload组件实现文件上传

    本篇使用客户端jQuery-File-Upload插件和服务端Badkload组件实现多文件异步上传.MVC文件上传相关兄弟篇: 处理文件上传的服务端组件Backload 用于处理文件上传的服务端组件 ...

  7. Ueditor1.4.3实现跨域上传到独立文件服务器,完美解决单文件和多文件上传!

    再写配置方法之前先吐槽一下网上的各种教程,TM没一个有卵用,一群傻屌不会写就别写,写了就要负责. 百度google搜了半天,全是配置什么document.domain,根域名什么的,我只想对你说: 好 ...

  8. maven工程 java 实现文件上传 SSM ajax异步请求上传

    java ssm框架实现文件上传 实现:单文件上传.多文件上传(单选和多选),并且用 ajax 异步刷新,在当前界面显示上传的文件 首先springmvc的配置文件要配置上传文件解析器: <!- ...

  9. ThinkPHP 文件上传到阿里云OSS上(干货)

    参考:http://www.thinkphp.cn/extend/789.html 1.前往阿里云github下载SDK包:https://github.com/aliyun/aliyun-oss-p ...

  10. 文件批量上传-统一附件管理器-在线预览文件(有互联网和没有两种)--SNF快速开发平台3.0

    实际上在SNF里使用附件管理是非常简单的事情,一句代码就可以搞定.但我也要在这里记录一下统一附件管理器能满足的需求. 通用的附件管理,不要重复开发,调用尽量简洁. 批量文件上传,并对每个文件大小限制, ...

随机推荐

  1. AIX安装单实例11gR2 GRID+DB

    AIX安装单实例11gR2 GRID+DB   一.1  BLOG文档结构图       一.2  前言部分   一.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以 ...

  2. python模块之json pickle

    1.json模块 功能:将其他形式的数据类型转化为json字符串类型,将json字符串转化为其他对应的数据类型 方法:json.dumps()  作用:将所有单引号变成双引号:将所有数据类型变成字符串 ...

  3. UART 串口示例代码

    /* uart_tx.c */ #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #i ...

  4. ansible中的docker_container模块

    docker_container模块 1.docker_container模块主要是用于ansible-playbook操作docker容器的一个模块,使用该模块可以实现批量创建docker容器 An ...

  5. Kali下的内网劫持(一)

    ettercap利用计算机在局域网内进行通信的ARP协议的缺陷进行攻击,在目标主机与服务器之间充当中间人,嗅探两者之间的数据流量,从中窃取用户的数据信息,那么接下来我就给大家演示一下客户端的图片是怎么 ...

  6. 记一次用pip安装docker-compose报错及解决方法

    Docker-Compose 的安装 方法一 # 下载1.25.0 docker compose sudo curl -L "https://github.com/docker/compos ...

  7. java技术思维导图(转载)

      在网上看到有个人总结的java技术的东东,觉得很好,就保存下来了,码农还真是累啊,只有不断的学习才能有所提高,才能拿更多的RMB啊. java技术思维导图 服务端思维导图 前端思维导图

  8. 更新GitHub上自己 Fork 的代码与原作者的项目进度一致

    在GitHub上我们会去fork别人的一个项目,这就在自己的Github上生成了一个与原作者项目互不影响的副本,自己可以将自己Github上的这个项目再clone到本地进行修改,修改后再push,只有 ...

  9. “Another git process seems to be running in this repository...”Git此问题解决

    Git中显示:Another git process seems to be running in this repository, e.g.an editor opened by 'git comm ...

  10. Java 多线程实战

    Java多线程 public class ThreadTest { public static void main(String[] args) throws InterruptedException ...