struts实现文件的上传

本文介绍如何使用Struts框架实现文件上传功能,包括JSP页面设计、Action处理及struts.xml配置等内容。演示了从页面设计到文件上传的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

struts实现文件的上传,有三个部分:JSP页面,Action,struts.xml

1.JSP页面

 <s:file name="image" label="请选择文件"></s:file>
 <s:submit value="上传"></s:submit>

 2.Action中

 //用于保存页面file控件上传的数据
 private File image;
 //保存上传文件的名称
 //格式必须是:页面file控件的名称再加上FileName的格式
 private String imageFileName;
 //保存上传文件的类型,如image、doc、zip等
 //格式必须是:页面file控件的名称再加上FileContent的格式
 private String imageContentType;
public String execute() throws Exception {
  //获取文件上传后在服务器保存的位置
  //注意要在Webcontent下创建
  //images文件夹用于保存文件
  String path=
   ServletActionContext.getServletContext()
   .getRealPath("/images");
  //按照原文件名在images文件夹下构建文件
  File file=
   new File(path+"//"+imageFileName);
  //利用commons-io包中的FileUtiles类实现文件上传
  FileUtils.copyFile(image, file);
  return SUCCESS;
 }

3.struts配置

 <struts>
 <!-- 设置上传文件的临时目录 -->
 <constant name="struts.multipart.saveDir" value="e:\\temp"></constant>
 <!-- 设置上传文件的大小 -->
 <constant name="struts.multipart.maxSize" value="2097152"></constant>
 <package name="file" extends="struts-default" namespace="/">
  <action name="fileAction" class="com.action.FileAction">
   <result name="success">/success.jsp</result>
  </action>
 </package>
</struts>

 

分析:
文件上传过程:在页面点击上传之后,会在临时目录上会生成临时文件(临时文件的路径在struts的配置文件中constant的struts.multipart.saveDir中设置,如果没有设置,就是默认的Javax.servlet.context.tempDir;)
在Action中接收的image文件就是这个临时文件。
在Action的execute方法中,路径path是文件上传到服务器上之后,该文件在服务器上的路径,
这里是通过ServletActionContext.getServletContext().getRealPath("/images")获取images文件夹在服务器上的绝对路径,
因为要把上传的文件放在images文件夹下,所以path+fileName,就是文件的绝对路径了;
然后使用new File(path+fileName)创建文件;
FileUtils.copyFile(image,file);把本地的临时文件上传到了服务器上。

 

转载于:https://my.oschina.net/u/1450300/blog/282072

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值