struts2 如何  上傳文件

弄了半天 做個記錄 方便以後查閱 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~ 需要的朋友 歡迎借用 呵呵

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章