Struts 1.x多文件上传

最近项目用到Struts 1.3,要做一个多文件上传,一次上传多张图片,参考了网上的代码,老是不行,最后终于弄出来了,估计是由于网上的都是基于Struts2的上传,废话不多说,具体步骤为:

1、前台页面

   前台页面中,form表单enctype属性设为 "multipart/form-data" ,表单部分内容如下

<input type="file" value="上传图片" name="bugPictures"></input>
<input type="button" value="添加更多" onclick="addImage(this);"/>

  js如下(用了jQuery,主要是看它的选择器很强大):

 

<script type="text/javascript">
	var i=1;
	function addImage(obj){
	    if(i>4){
		alert("每次上传图片不允许超过5张");
		return;
	    }
	    $(obj).parents("tr:first").after("<tr><td></td><td colspan='2'>
               <input type='file' value='上传图片' class='bugPictures' name='bugPictures'/></td></tr>");
	    i++;
	}
</script>

  项目中上传的是图片,顺便把图片类型验证的js贴出来

 

$('.bugPictures').each(function(){
	var reg=/.*([.]jpg|[.]bmp|[.]png|[.]jpeg|[.]gif)$/;
	if(reg.test($(this).val())==false){
	$(this).parent().parent().remove();
}
});

 2、ActionForm

   private List bugPictures;

   添加相应的get、set方法

3、Action处理代码

 

for (Object obj : bugForm.getBugPictures()) {
        FormFile formfile = (FormFile) obj;
        byte[] data = formfile.getFileData();
        //添加你的处理代码
}

 其实struts 1.x 的文件上传还是很简单的,OK!

你可能感兴趣的:(JavaScript,jquery,struts)