struts2 实现文件上传

 

第一步:在WEB-INF/lib下加入commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar。这两个文件可以从http://commons.apache.org/下载。
第二步:把form表的enctype设置为:“multipart/form-data“,如下:
<form enctype="multipart/form-data" action="${pageContext.request.contextPath}/xxx.action" method="post">
  <input  type="file" name="uploadImage">
</form>
第三步:在Action类中添加以下属性,属性红色部分对应于表单中文件字段的名称,下面的都是固定写法:
public class HelloWorldAction{
  private File uploadImage;//得到上传的文件
  private String uploadImageContentType;//得到文件的类型
  private String uploadImageFileName;//得到文件的名称
  //这里略省了属性的getter/setter方法
  public String upload() throws Exception{
 String realpath = ServletActionContext.getServletContext().getRealPath("/images");//保存图片的绝对路径
 File file = new File(realpath);
 if(!file.exists()) file.mkdirs();//如果目录不存在,则创建
 FileUtils.copyFile(uploadImage, new File(file, uploadImageFileName));
 return "success";
  }
}

第四步:配置struts.xml

 

 

<struts>
	<constant name="struts.multipart.maxSize" value="398354109"></constant>
	<package name="upload" extends="struts-default" namespace="/test">
		<action name="upload" class="com.camelot.action.Upload">
			<result>/index.jsp</result>
		</action>
		<action name="delete" class="com.camelot.action.DeleteAction">
			<result>/index.jsp</result>
		</action>
		<action name="download" class="com.camelot.action.DownloadAction">
			<result type="stream">
				<param name="contentDisposition">attachment;filename="a.txt"</param>
				<param name="inputName">txtFile</param>
			</result>
		</action>
	</package>	
</struts>

 

 

并限制上传文件的大小

 

转载于:https://www.cnblogs.com/xiaomuv587/archive/2012/10/20/2732092.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值