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. Flask入门很轻松(三)—— 模板

    Jinja2模板引擎 转载请在文章开头附上原文链接地址:https://www.cnblogs.com/Sunzz/p/10959471.html Flask内置的模板语言,它的设计思想来源于 Dja ...

  2. ss-套接字监控工具

    ss(Socket Statistics) - another utility to investigate sockets(研究套接字的另一个实用程序,原先的是netstat) ss用于转储套接字统 ...

  3. Redis开发与运维学习笔记

    <Redis开发与运维>读书笔记   一.初始Redis 1.Redis特性与优点 速度快.redis所有数据都存放于内存:是用C语言实现,更加贴近硬件:使用了单线程架构,避免了多线程竞争 ...

  4. MySQL/MariaDB数据库的多表查询操作

    MySQL/MariaDB数据库的多表查询操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.单表查询小试牛刀 [root@node105.yinzhengjie.org.cn ...

  5. spring cloud (二) 服务提供者 EuekaClient

    1 创建一个springboot项目  spring-cloud-service-a  注册到eureka服务注册中心中 项目添加依赖 <dependency> <groupId&g ...

  6. Python使用pip安装TensorFlow模块

    1.首先确保已经安装python,然后用pip来安装matplotlib模块. 2.进入到cmd窗口下,建议执行python -m pip install -U pip setuptools进行升级. ...

  7. 开发Electron可能用到的工具

    nodejs:搭载谷歌v8内核的高性能的node环境npm:包管理工具webpack:模块打包器jQuery:js必备库Bootstrap:css必备库react:用于构建用户界面的库vue:构建数据 ...

  8. Zabbix4.0国内下载源

    国内zabbix源总结 目前发现的有以下几个站点: 1.阿里巴巴开源镜像站(推荐使用) 地址:https://mirrors.aliyun.com/zabbix/ 2.华为开源镜像站(推荐使用) 地址 ...

  9. jQuery通用遍历方法each的实现

    each介绍 jQuery 的 each 方法,作为一个通用遍历方法,可用于遍历对象和数组. 语法为: jQuery.each(object, [callback]) 回调函数拥有两个参数:第一个为对 ...

  10. go 学习 (四):接口 & 方法

     接口声明 // 接口声明 语法:接口是一个 函数签名 的集合,函数签名(函数的声明,不包括实现) type interfaceName interface { method1(param param ...