使用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 相关文章推荐
javascript实现二分查找法实现代码
Nov 12 Javascript
javascript实现的基于金山词霸网络翻译的代码
Jan 15 Javascript
一个原生的用户等级的进度条
Jul 03 Javascript
浅谈Javascript事件处理程序的几种方式
Jun 27 Javascript
自定义ExtJS控件之下拉树和下拉表格附源码
Oct 15 Javascript
排序算法的javascript实现与讲解(99js手记)
Sep 28 Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
Jul 17 Javascript
jQuery中prepend()方法使用详解
Aug 11 Javascript
Boostrap实现的登录界面实例代码
Oct 09 Javascript
jquery自定义表单验证插件
Oct 12 Javascript
Javascript自定义事件详解
Jan 13 Javascript
一篇文章了解正则表达式的替换技巧
Feb 24 Javascript
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
Get或Post提交值的非法数据处理
2006/10/09 PHP
PHP 开发工具
2006/12/06 PHP
php实现的Curl封装类Curl.class.php用法实例分析
2015/09/25 PHP
JavaScript OOP类与继承
2009/11/15 Javascript
jQuery Tools Dateinput使用介绍
2012/07/14 Javascript
js 获取radio按钮值的实例
2013/08/17 Javascript
JS阻止用户多次提交示例代码
2014/03/26 Javascript
JQEasy-ui在IE9以下版本中二次加载的问题分析及处理方法
2014/06/23 Javascript
js 实现获取name 相同的页面元素并循环遍历的方法
2017/02/14 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
weex里Vuex state使用storage持久化详解
2017/09/09 Javascript
vue mint-ui 实现省市区街道4级联动示例(仿淘宝京东收货地址4级联动)
2017/10/16 Javascript
vue.js计算属性computed用法实例分析
2018/07/06 Javascript
vue ssr+koa2构建服务端渲染的示例代码
2020/03/23 Javascript
JS实现数据动态渲染的竖向步骤条
2020/06/24 Javascript
Vue组件通信$attrs、$listeners实现原理解析
2020/09/03 Javascript
python多线程抽象编程模型详解
2019/03/20 Python
详解Python字符串切片
2019/05/20 Python
Python数据可视化 pyecharts实现各种统计图表过程详解
2019/08/15 Python
Python如何使用BeautifulSoup爬取网页信息
2019/11/26 Python
python爬虫开发之PyQuery模块详细使用方法与实例全解
2020/03/09 Python
10分钟理解CSS3 FlexBox弹性布局
2018/12/20 HTML / CSS
HTML5 input placeholder 颜色修改示例
2014/05/30 HTML / CSS
科颜氏加拿大官方网站: Kiehl’s加拿大
2016/08/16 全球购物
serialVersionUID具有什么样的特征
2014/02/20 面试题
多媒体编辑专业毕业生推荐信
2013/11/05 职场文书
采购部岗位职责
2013/11/24 职场文书
保密工作目标责任书
2014/07/28 职场文书
授权委托书范本(单位)
2014/09/28 职场文书
先进个人评语大全
2015/01/04 职场文书
工会工作个人总结
2015/03/03 职场文书
小学工作总结2015
2015/05/04 职场文书
大学生就业意向书
2015/05/11 职场文书
2015年学校办公室主任工作总结
2015/07/20 职场文书
Python使用random模块实现掷骰子游戏的示例代码
2021/04/29 Python
浅谈JS和Nodejs中的事件驱动
2021/05/05 NodeJs