Struts2多文件上傳

      引言:之前在做多文件上傳的時候,在網上找了些插件,可以實現一次性上傳多個文件,但是放到Struts2裏面去的時候就有問題了,所以就乾脆使用了Struts2的文件上傳了,雖然需要多次選擇文件,但好歹也是能一次性上傳的。下面來看看我的實現方法,以此拋磚引玉...

先來看看jsp需要的代碼:

window.οnlοad=function(){
                //文件上傳添加按鈕
		$("#addUpload").click(function(){
			var fileDiv = $(".fileDiv").clone();
                        fileDiv.removeClass(); //去掉class="fileDiv" 如果不這麼做,那麼會出現多個class="fileDiv" 這樣再次clone的時候也就會clone出多個,以等比數列增加
			$("#fileTr").append(fileDiv);
			fileDiv.show();
				
			})
			//刪除文件
			$(".delUpload").live("click",function(){
				$(this).closest("DIV").remove();
			})
	}   
	 <tr>
	  <td align="left" width=5%>
	導入結果	:
	 </td>
	  <td align="left" width=5%>
		<span id="addUpload"
		style="border: gray 1px solid; padding: 5px 15px; background-color: #BABABA; color: #000fff;">增加</span>
	 </td>
	 <td  id="fileTr" align="left" width=15% nowrap>
		<div class="fileDiv"
		style="font-size: 12px; padding: 5px; display: none;">
		 路徑:    <input type="file" name="resultFile" 
		style="background-color: #fff; border: solid 1px #77abc4; color: #000000; width: 270px;" />
		<span class="delUpload"
		style="border: gray 1px solid; padding: 5px 15px; background-color: #BABABA; color: #000fff;">刪除</span>
		</div>
	</td>    
</tr>

效果圖如下:

點擊刪除後:

後臺代碼:

     private List<File> resultFile;//和jsp中 name="resultFile" 這塊的name名字對應
	private List<String> resultFileFileName; 
	//對上傳的文件list通過循環獲取,然後進行自己想要的操作
	for (int i = 0; i < resultFile.size(); i++) {  
	String fileReName = uploadFile(resultFile.get(i),resultFileFileName.get(i));
	}

    代碼比較粗糙,重在意會,各位如果有比較好的推薦還望不吝賜教,感激不盡!!!






發佈了64 篇原創文章 · 獲贊 341 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章