Struts2上传文件


JSP页面:
<form action="uploadPhoto.action" method="post" enctype="multipart/form-data">
<table>
<tr>
<td><input type="file" name="photoFile"></td>
<td><input type="submit" value="上传"></td>
</tr>
</table>
</form>

struts.xml配置文件:
<action name="uploadPhoto" class="com.fy.action.UploadPhotoAction">
<interceptor-ref name ="fileUploadStack"/>
<result name="success" type="redirect-action">
<param name="actionName">photo</param>
</result>
</action>

Action文件:
private File photoFile;
private String photoFileFileName;
private String photoFileContentType;

private PhotoDAO photoDAO;

private final int BUFFER_SIZE = 16 * 1024 ;

public String execute()
{
HttpServletRequest request=ServletActionContext.getRequest();

File dst=new File(ServletActionContext.getServletContext().getRealPath("\\photo")+"\\"+photoFileFileName);
copy(photoFile,dst);

return "success";
}

private void copy(File src,File dst)
{
try
{
InputStream in=null ;
OutputStream out=null ;
try
{
in=new BufferedInputStream(new FileInputStream(src),BUFFER_SIZE);
out=new BufferedOutputStream(new FileOutputStream(dst),BUFFER_SIZE);
byte[] buffer = new byte[BUFFER_SIZE];
int len;
while((len=in.read(buffer))>0)
{
out.write(buffer,0,len);
out.flush();
}
}
finally
{
if(null!=in)
{
in.close();
}
if(null!=out)
{
out.close();
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值