Struts2文件上传 —— 单个文件上传

来源:互联网 发布:mysql怎么查看表的字符 编辑:程序博客网 时间:2024/05/29 16:11

Struts 2的文件上传功能,默认基于Common- FileUpload 实现

 

上传表单页面

注意:enctype属性<s:formaction="/upload"method="POST"enctype="multipart/form-data">   <s:filelabel="选择文件:"name="file"/>   <s:submitvalue="上传"/></s:form>

 

struts.xml配置文件

<package name="default" namespace="/" extends="struts-default">    <action name="upload" class="cn.itcast.user.action.FileUploadAction" method="upload">       <param name="filePath">d:/</param>       <result name="input">/jsp/fail/upload_fail.jsp</result>       <result>/jsp/success/upload_success.jsp</result>    </action></package>

 

接收上传请求的Action

public class FileUploadAction extends ActionSupport {    // 上传文件对象,该属性必须符合特定规范,即与表单提交name相同    private File file;    // 上传文件的MIME类型    private String fileContentType;    // 上传文件的文件名    private String fileFileName;    // 上传至指定路径,该参数值由struts.xml配置    private String uploadPath;    public String upload() throws Exception {       OutputStream os = null;       InputStream is = null;       try {        os = new FileOutputStream(uploadPath+fileFileName);           is = new FileInputStream(file);           byte[] buffer = new byte[1024];           int len = -1;           while ((len = is.read(buffer)) != -1) {              os.write(buffer, 0, len);        }        } catch (Exception e) {           e.printStackTrace();        }finally{           if(os!=null)               os.close();           if(is!=null)               is.close();           if(file!=null)              is.close();       }       return SUCCESS;    }}