使用plupload自定義參數(shù)實(shí)現(xiàn)多文件上傳
1、在開發(fā)中可能需要用戶附件上傳的功能,實(shí)現(xiàn)批量上傳功能其實(shí)就將多個(gè)上傳任務(wù)放到一個(gè)集合中,分別上傳。
2,使用plupload js插件可以很輕松的實(shí)現(xiàn)帶參數(shù)的多文件上傳

3、具體js實(shí)現(xiàn)方式
<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){
//重點(diǎn)在這里,上傳的時(shí)候自定義參數(shù)信息
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();
//根據(jù)文件id刪除此文件,并且在table中刪除此文件的信息
function del(id){
uploader.removeFile(id);
$("#"+id+"tr").remove();
map[id]="";
}
</script>
其他參數(shù)在其官網(wǎng)上:http://www.plupload.com/
宅男程序猿,文采不行,如果看著累直接復(fù)制js,注意頁面上需要有:
<div id="filelist"></div> <div id="container"> <center> 提示:必須上傳 "商戶營業(yè)執(zhí)照","稅務(wù)登記證明","企業(yè)法人身份證","考察照片","商戶信息調(diào)查表","商戶協(xié)議" 才能提交審批! </center> <label>附件類型:</label> <select name="fileType" id="fileType" > <option value="1">-------請選擇-----</option> <option value="商戶營業(yè)執(zhí)照">商戶營業(yè)執(zhí)照</option> <option value="稅務(wù)登記證明">稅務(wù)登記證明</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()">關(guān)閉窗口</button> <table style="width: 600px" id="uploadTable" border="1"> <tr> <td>文件類型</td> <td>文件名稱</td> <td>操作</td> <td>上傳進(jìn)度</td> </tr> </table> </div>
以上所述是小編給大家介紹的使用plupload自定義參數(shù)實(shí)現(xiàn)多文件上傳,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- SSM框架+Plupload實(shí)現(xiàn)分塊上傳大文件示例
- JS插件plupload.js實(shí)現(xiàn)多圖上傳并顯示進(jìn)度條
- artDialog+plupload實(shí)現(xiàn)多文件上傳
- plupload+artdialog實(shí)現(xiàn)多平臺上傳文件
- yii2.0使用Plupload實(shí)現(xiàn)帶縮放功能的多圖上傳
- 使用Plupload實(shí)現(xiàn)直接上傳附件至七牛云存儲
- 使用JS+plupload直接批量上傳圖片到又拍云
- PHP + plupload.js實(shí)現(xiàn)多圖上傳并顯示進(jìn)度條加刪除實(shí)例代碼
相關(guān)文章
JavaScript實(shí)現(xiàn)的多種鼠標(biāo)拖放效果
這篇文章主要介紹了JavaScript實(shí)現(xiàn)的多種鼠標(biāo)拖放效果,涉及JavaScript響應(yīng)鼠標(biāo)事件動(dòng)態(tài)變換頁面元素屬性的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11
JS實(shí)現(xiàn)的tab切換選項(xiàng)卡效果示例
這篇文章主要介紹了JS實(shí)現(xiàn)的tab切換選項(xiàng)卡效果,結(jié)合具體實(shí)例形式分析了JS通過鼠標(biāo)事件觸發(fā)自定義函數(shù)控制頁面元素樣式變換實(shí)現(xiàn)tab切換功能的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-02-02
js實(shí)現(xiàn)簡單的二級聯(lián)動(dòng)效果
本文主要介紹了js實(shí)現(xiàn)簡單的二級聯(lián)動(dòng)效果的實(shí)例,具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-03-03
分享一個(gè)原生的JavaScript拖動(dòng)方法
本文給大家分享的是基于JavaScript的setCapture方法實(shí)現(xiàn)的拖動(dòng)效果,非常的簡單實(shí)用,有需要的小伙伴可以參考下2016-09-09
使用JavaScript實(shí)現(xiàn)一個(gè)交互式音樂播放器
JavaScript,作為前端開發(fā)的重要語言,可以實(shí)現(xiàn)許多復(fù)雜的功能,在這篇文章中,我們將一起創(chuàng)建一個(gè)交互式的音樂播放器,快跟隨小編一起學(xué)習(xí)一下吧2024-01-01
JavaScript設(shè)計(jì)模式之單例模式原理與用法實(shí)例分析
這篇文章主要介紹了JavaScript設(shè)計(jì)模式之單例模式原理與用法,結(jié)合實(shí)例形式分析了單例模式的原理、命名空間的使用、閉包、惰性單例形式以及單例模式的基本應(yīng)用,需要的朋友可以參考下2018-07-07

