1、在开发中可能需要用户附件上传的功能,实现批量上传功能其实就将多个上传任务放到一个集合中,分别上传。
2,使用plupload js插件可以很轻松的实现带参数的多文件上传
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自定义参数实现多文件上传,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年11月30日
2024年11月30日
- 颜人中《这是一张情歌专辑》[320K/MP3][48.9MB]
- Mozart-ViolinConcertosNos.34-FrancescaDego,RoyalScottishNationalOrchestra,SirR
- Mendelssohn,Dvorak-ViolinConcertos-Menuhin,Enescu(2010)FLAC+CUE
- 黑鸭子2006-樱桃女声[首版][WAV+CUE]
- 颜人中《这是一张情歌专辑》[FLAC/分轨][258.76MB]
- 华晨宇《华晨宇日出演唱会特辑》[320K/MP3][101.77MB]
- 华晨宇《华晨宇日出演唱会特辑》[Hi-Res][24bit 48kHz][FLAC/分轨][941.13MB]
- 刘俊麟 《美妙!我被五小只包围了》[320K/MP3][86.74MB]
- 刘俊麟 《美妙!我被五小只包围了》[FLAC/分轨][454.29MB]
- 群星《错位 影视原声带》[320K/MP3][63.65MB]
- 中国音乐地图之听见四川彝族民间歌曲乐曲集2020[WAV+分轨]
- 姚璎格《姚璎格的歌(24K纯金CD)》[正版原抓WAV+CUE]
- 高垣彩陽《melodia4》【Hi-Res】24bit-96kHz【flac】
- 王菀之《The Missing Something》[320K/MP3][67.2MB]
- 赵翊帆《LUNARFACE》[320K/MP3][88.81MB]