码迷,mamicode.com
首页 > 编程语言 > 详细

(27) java web的struts2框架的使用-基于表单的多文件上传

时间:2018-08-12 14:01:19      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:struts   for   文件大小   没有   BMI   object   private   app   多文件   

和单个文件上传配置都是一样的,只是在action中接受参数时候,接受的是数组,不再是单个的文件。

一,action的实现:

public class MutableFilesUpload extends ActionSupport {

	private static final long serialVersionUID = 1L;
	
	public File[] uploadObjects;
	public String[] uploadObjectsFileName;
	public String[] uploadObjectsContentType;
	
	public String moreInfo;

	public String upload() {
		
		System.out.println(moreInfo);

		// 1.拿到ServletContext
		ServletContext servletContext = ServletActionContext
				.getServletContext();
		// 2.调用realPath方法,获取根据一个虚拟目录得到的真实目录
		String realPath = servletContext.getRealPath("/files");
		// 3.如果这个真实的目录不存在,需要创建
		File file = new File(realPath);
		if (!file.exists()) {
			file.mkdirs();
		}
		// 4.把文件存过去
		// 剪切:把临时文件剪切指定的位置,并且给他重命名。 注意:临时文件没有了
		for (int i = 0; i < uploadObjects.length; i++) {
			System.out.println("one file name: " + uploadObjectsFileName[i]);
			uploadObjects[i].renameTo(new File(file, uploadObjectsFileName[i]));
		}

		return SUCCESS;
	}

}

  

二,配置action

<action name="mutable_uploads" class="gy.upload.MutableFilesUpload" method="upload">

  <!-- 指定(限制)上传文件的类型,定义局部拦截器,修改默认拦截器的属性 "fileUpload.maximumSize" :限制上传最大的文件大小。 
				"fileUpload.allowedTypes":允许上传文件的类型。 "fileUpload.allowedExtensions":允许上传文件的可扩展文件类型。 -->
  <interceptor-ref name="defaultStack">
    <param name="fileUpload.maximumSize">500000000</param>
    <param name="fileUpload.allowedTypes">text/plain,application/vnd.ms-powerpoint</param>
    <param name="fileUpload.allowedExtensions">.txt,.ppt</param>
  </interceptor-ref>

  <result>/success.html</result>
  <!-- 出现错误自动会返回input结果,进入结果视图 -->
  <result name="input">/fail.html</result>
</action>

 

三,表单的实现

<body>
	<form action="mutable_uploads" method="post"
		enctype="multipart/form-data">
		文件:<br> 
		<input type="file" name="uploadObjects"><br>
		<input type="file" name="uploadObjects"><br> 
		more info:
		<input type="text" name="moreInfo"><br>
		<input type="submit" value="提交"><br>
	</form>
</body>

  

  

(27) java web的struts2框架的使用-基于表单的多文件上传

标签:struts   for   文件大小   没有   BMI   object   private   app   多文件   

原文地址:https://www.cnblogs.com/yangzigege/p/9462390.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!