struts2 如何  上传文件

本文详细介绍了使用Struts框架实现文件上传的过程,包括jsp页面配置、struts.xml配置、后台action处理以及文件保存逻辑。通过实例演示,帮助开发者理解并掌握Struts框架下文件上传的基本操作。

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

弄了半天 做个记录 方便以后查阅 O(∩_∩)O~

 

jsp页面:

 

 <s:form action="up" method="post" enctype="multipart/form-data" theme="simple" namespace="" name="form1">
     <s:file name="upload" label="行业标识1"></s:file>
     <s:submit value="确认添加"></s:submit>
  </s:form>

 

 

struts.xml配置

 

<!-- 上传的全部图片的最大限制-->
 <constant name="struts.multipart.maxSize" value="1024102400" />
 <constant name="struts.multipart.saveDir" value="d://test"></constant>

 <!-- 配置action-->
 <package name="upload" extends="struts-default" namespace="">
  <action name="up" class="actions.UploadImageAction">
   <interceptor-ref name="defaultStack"></interceptor-ref>
   <result name="success">/index.jsp</result>
  </action>
 </package>

 

后台action

 

package actions;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class UploadImageAction extends ActionSupport{
 private File upload;
 private String uploadContentType;
 private String uploadFileName;
 public File getUpload() {
  return upload;
 }
 public void setUpload(File upload) {
  this.upload = upload;
 }
 public String getUploadContentType() {
  return uploadContentType;
 }
 public void setUploadContentType(String uploadContentType) {
  this.uploadContentType = uploadContentType;
 }
 public String getUploadFileName() {
  return uploadFileName;
 }
 public void setUploadFileName(String uploadFileName) {
  this.uploadFileName = uploadFileName;
 }
 
 public String execute() throws Exception{//上传附件
  String fileName="";
  String fileAlias="";
  if (getUploadFileName()!=null) {
   fileName=getUploadFileName();
   fileAlias=getUploadFileName().substring(getUploadFileName().lastIndexOf('.'));
   FileInputStream fis=new FileInputStream(getUpload());
   byte[] b=new byte[1024];
   int len=0;
   String savepath=ServletActionContext.getServletContext().getRealPath("/upload");
   FileOutputStream fos=new FileOutputStream(savepath+"\\"+fileName);
   while ((len=fis.read(b))>0) {
    fos.write(b,0,len);
   }
  }
  return SUCCESS;
 }
}

 

 

很简单,此处就不加注释了O(∩_∩)O~ 需要的朋友 欢迎借用 呵呵

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值