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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章