使用plupload自定义参数实现多文件上传


Posted in Javascript onJuly 19, 2016

1、在开发中可能需要用户附件上传的功能,实现批量上传功能其实就将多个上传任务放到一个集合中,分别上传。

2,使用plupload js插件可以很轻松的实现带参数的多文件上传

使用plupload自定义参数实现多文件上传

3、具体js实现方式

<script type="text/javascript">
var map={};//文件id为key,文件类型为value的集合
// Custom example logic
var uploader = new plupload.Uploader({
runtimes : 'html5,flash,silverlight,html4',
browse_button : 'pickfiles', // you can pass in id...
container : document.getElementById('container'), // ... or DOM Element itself
url : '../action/photoUpload.jsp',
flash_swf_url : '../../js/Moxie.swf',
silverlight_xap_url : '../../js/Moxie.xap',
filters : {
max_file_size : '5mb',
mime_types : [ {
title : "图片类型",
extensions : "jpg,gif,png"
} ]
},
init : {
PostInit : function() {
document.getElementById('uploadfiles').onclick = function() {
uploader.start();
return false;
};
},
BeforeUpload:function(up,file){
//重点在这里,上传的时候自定义参数信息
uploader.setOption("multipart_params",{"apptype":${param.type},"id":${param.id},"fileType":map[file.id]});
},
FileUploaded:function(up,file){
$("#"+file.id+"btn").parent().html("上传完毕");
$("#"+file.id+"btn").remove();
},
FilesAdded : function(up, files) {
if($("#fileType").val()==1){
alert("请选择附件类型!");
//清空刚才选择的文件
plupload.each(files,function(file) {
uploader.removeFile(file.id);
});
return false;
}
plupload.each(files,function(file) {
map[file.id]=$("#fileType").val();
$("#uploadTable").append("<tr id='"+file.id+"tr'><td>"+$("#fileType").val()+"</td><td>"+file.name+"</td><td><button type='button' id='"+file.id+"btn' onclick=del('"+file.id+"')>删除</button> </td><td id='"+file.id+"_progress'></td></tr>");
});
},
UploadProgress : function(up, file) {
$("#"+file.id+"_progress").html('<span>'+ file.percent + "%</span>");
},
Error : function(up, err) {
alert("此文件上传失败!");
}
}
});
uploader.init();
//根据文件id删除此文件,并且在table中删除此文件的信息
function del(id){
uploader.removeFile(id);
$("#"+id+"tr").remove();
map[id]="";
}
</script>

其他参数在其官网上:http://www.plupload.com/

宅男程序猿,文采不行,如果看着累直接复制js,注意页面上需要有:

<div id="filelist"></div>
<div id="container">
<center>
提示:必须上传 "商户营业执照","税务登记证明","企业法人身份证","考察照片","商户信息调查表","商户协议" 才能提交审批!
</center>
<label>附件类型:</label> <select name="fileType" id="fileType" >
<option value="1">-------请选择-----</option>
<option value="商户营业执照">商户营业执照</option>
<option value="税务登记证明">税务登记证明</option>
<option value="商户信息变更表">商户信息变更表</option>
<option value="其他">其他</option>
</select>
<button class="button" id="pickfiles">选择文件</button>  
<button class="button" id="uploadfiles">批量上传</button>  
<button class="button" onclick="window.location.reload()">刷新</button>  
<button class="button" onclick="window.close()">关闭窗口</button>
<table style="width: 600px" id="uploadTable" border="1">
<tr>
<td>文件类型</td>
<td>文件名称</td>
<td>操作</td>
<td>上传进度</td>
</tr>
</table>
</div>

以上所述是小编给大家介绍的使用plupload自定义参数实现多文件上传,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
客户端静态页面玩分页
Jun 26 Javascript
JQuery textlimit 显示用户输入的字符数 限制用户输入的字符数
May 14 Javascript
extJs 下拉框联动实现代码
Apr 09 Javascript
分享XmlHttpRequest调用Webservice的一点心得
Jul 20 Javascript
常用jQuery代码分享
Jul 14 Javascript
jQuery实现鼠标经过时出现隐藏层文字链接的方法
Oct 12 Javascript
响应式表格之固定表头的简单实现
Aug 26 Javascript
javascript 内置对象及常见API详细介绍
Nov 01 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
Feb 04 Javascript
Vue表情输入组件 微信face表情组件
Feb 11 Javascript
基于Vue实现平滑过渡的拖拽排序功能
Jun 12 Javascript
深入理解Vue的数据响应式
May 15 Vue.js
artDialog+plupload实现多文件上传
Jul 19 #Javascript
plupload+artdialog实现多平台上传文件
Jul 19 #Javascript
如何在JS中实现相互转换XML和JSON
Jul 19 #Javascript
js 动态给元素添加、移除事件的实现方法
Jul 19 #Javascript
js实现动态创建的元素绑定事件
Jul 19 #Javascript
用js动态添加html元素,以及属性的简单实例
Jul 19 #Javascript
详谈JS中实现种子随机数及作用
Jul 19 #Javascript
You might like
Symfony2学习笔记之系统路由详解
2016/03/17 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
2016/06/13 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
PHP的PDO事务与自动提交
2019/01/24 PHP
setInterval 和 setTimeout会产生内存溢出
2008/02/15 Javascript
Javascript 获取链接(url)参数的方法
2009/02/15 Javascript
实现变速回到顶部的JavaScript代码
2011/05/09 Javascript
javascript对talbe进行动态添加、删除、验证实现代码
2012/03/29 Javascript
原生js拖拽(第一课 未兼容)拖拽思路
2013/03/29 Javascript
js中substr,substring,indexOf,lastIndexOf的用法小结
2013/12/27 Javascript
javascript实现按回车键切换焦点
2015/02/09 Javascript
js简单实现竖向tab选项卡的方法
2015/05/04 Javascript
JS建造者模式基本用法实例分析
2015/06/30 Javascript
JavaScript实现身份证验证代码
2016/02/17 Javascript
JQuery fileupload插件实现文件上传功能
2016/03/18 Javascript
angular实现图片懒加载实例代码
2017/06/08 Javascript
Nodejs中的JWT和Session的使用
2018/08/21 NodeJs
jquery.pager.js实现分页效果
2019/07/29 jQuery
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
vue中实现上传文件给后台实例详解
2019/08/22 Javascript
微信小程序获取当前时间及星期几的实例代码
2020/09/20 Javascript
python字典get()方法用法分析
2015/04/17 Python
利用Tkinter(python3.6)实现一个简单计算器
2017/12/21 Python
python解析json串与正则匹配对比方法
2018/12/20 Python
Python中的Socket 与 ScoketServer 通信及遇到问题解决方法
2019/04/01 Python
Python二进制文件读取并转换为浮点数详解
2019/06/25 Python
python操作cfg配置文件方式
2019/12/22 Python
详解Python中pyautogui库的最全使用方法
2020/04/01 Python
详解python3 GUI刷屏器(附源码)
2021/02/18 Python
html5使用canvas实现图片下载功能的示例代码
2017/08/26 HTML / CSS
求职者简历中的自我评价
2013/10/20 职场文书
计算机应届毕业生自荐信范文
2014/02/23 职场文书
文化宣传方案
2014/03/13 职场文书
关爱残疾人演讲稿
2014/05/24 职场文书
简短清晨问候语
2015/11/10 职场文书
详解CSS故障艺术
2021/05/25 HTML / CSS