struts 上傳文件

jopen 9年前發布 | 2K 次閱讀 Java Struts2

文 件上傳的時候struts會使用默認18個攔截器中的<interceptor name="fileUpload" class="org.apache.struts2.interceptor.FileUploadInterceptor"/>進行處理。

文件上傳Action類:

Action類中定義三個屬性:

private File file1; 對應表單:<input type="file" name="file1">
private String file1FileName; 文件名
private String file1ContentType;文件的類型(MIME)

并且提供這三個屬性的set方法。

文件上傳表單:

    <form action="${pageContext.request.contextPath }/fileUploadAction" method="post" enctype="multipart/form-data">  
            用戶名:<input type="text" name="userName"><br/>  
            文件:<input type="file" name="file1"><br/>  
            <input type="submit" value="上傳">  
        </form>  

文件上傳使用的Action類UploadAction

    package cn.itcast.upload;

import java.io.File;  
import java.io.IOException;  

import org.apache.commons.io.FileUtils;  
import org.apache.struts2.ServletActionContext;  

import com.opensymphony.xwork2.ActionSupport;  

public class UploadAction extends ActionSupport{  

    // 對應表單:<input type="file" name="file1">  
    private File file1;   
    // 文件名  
    private String file1FileName;  
    // 文件的類型(MIME)  
    private String file1ContentType;  
    public void setFile1(File file1) {  
        this.file1 = file1;  
    }  
    public void setFile1FileName(String file1FileName) {  
        this.file1FileName = file1FileName;  
    }  
    public void setFile1ContentType(String file1ContentType) {  
        this.file1ContentType = file1ContentType;  
    }  
    public String upload() throws IOException{  
        //得到上傳的文件夾  
        String path=ServletActionContext.getServletContext().getRealPath("/upload");  
        //創建文件  
        File file=new File(path,file1FileName);  
        //講上傳的文件上傳到指定的文件夾  
        FileUtils.copyFile(file1, file);  
        return "success";  
    }  
}  </pre> 


struts.xml文件的配置:

    <struts>  
        <package name="upload_" extends="struts-default">  
            <!-- 注意: action 的名稱不能用關鍵字"fileUpload" -->  
            <action name="fileUploadAction" class="cn.itcast.upload.UploadAction" method="upload">  
                <result name="success">/index.jsp</result>  
                <!-- 配置錯誤視圖 -->  
                <result name="input">/error.jsp</result>  
            </action>  
            </package>  
    </struts>  

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!