Struts2实现文件上传(默认拦截器篇)
2013-05-30 20:16
337 查看
struts.xml
action:IO操作上传
jsp:upload.jsp
uploadResult
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <constant name="struts.custom.i18n.resources" value="message"></constant> <constant name="struts.multipart.maxSize" value="10000" /> <package name="struts2" extends="struts-default"> <interceptors> <interceptor name="checkuserinterceptor" class="com.accp.interceptor.CheckUserInterceptor"></interceptor> <interceptor-stack name="checkuser"> <interceptor-ref name="checkuserinterceptor"></interceptor-ref> <interceptor-ref name="defaultStack"></interceptor-ref> </interceptor-stack> </interceptors> <global-results> <result name="login">/login.jsp</result> </global-results> <action name="upload" class="com.accp.action.user.UploadAction"> <result name="success">/uploadresult.jsp</result> <result name="input">/upload.jsp</result> <interceptor-ref name="fileUpload"> <param name="maximumSize">10000</param> <!-- 指定ppt类型,类型查询在tomcat/conf里的web.xml里查询 --> <param name="allowedTypes">application/vnd.ms-powerpoint,image/bmp,image/png,image/gif,image/pjpeg,image/jpg,application/msword,application/vnd.ms-excel,application/actet-stream</param> <param name="savePath">/upload</param> </interceptor-ref> <interceptor-ref name="defaultStack"></interceptor-ref> </action> </package> </struts>
action:IO操作上传
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.util.List; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; public class UploadAction extends ActionSupport { private String username; private String password; private List<File> file; private List<String> fileFileName; private List<String> fileContentType; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public List<File> getFile() { return file; } public void setFile(List<File> file) { this.file = file; } public List<String> getFileFileName() { return fileFileName; } public void setFileFileName(List<String> fileFileName) { this.fileFileName = fileFileName; } public List<String> getFileContentType() { return fileContentType; } public void setFileContentType(List<String> fileContentType) { this.fileContentType = fileContentType; } @Override public String execute() throws Exception { for (int i = 0; i < file.size(); ++i) { InputStream is = new FileInputStream(file.get(i)); String root = ServletActionContext.getRequest().getRealPath( "/upload"); File destFile = new File(root, this.getFileFileName().get(i)); OutputStream os = new FileOutputStream(destFile); byte[] buffer = new byte[400]; int length = 0; while ((length = is.read(buffer)) > 0) { os.write(buffer, 0, length); } is.close(); os.close(); } return SUCCESS; } }
jsp:upload.jsp
<s:form action="upload" theme="simple" enctype="multipart/form-data"> <table align="center" width="50%" border="1"> <tr> <td>用户名</td> <td><s:textfield name="username"></s:textfield></td> </tr> <tr> <td>密码</td> <td><s:password name="password"></s:password></td> </tr> <tr> <td>文件</td> <td id="more"><s:file name="file"></s:file> <input type="button" value="添加..." onclick="addMore()"></td> </tr> <tr> <td><s:submit value=" submit "></s:submit></td> <td><s:reset value=" reset "></s:reset></td> </tr> </table> </s:form>
uploadResult
<body> 用户名: <s:property value="username"/><br> 密码: <s:property value="password"/><br> 文件列表: <s:property value="fileFileName"/> </body>
相关文章推荐
- struts2使用fileUpload拦截器实现文件上传
- struts2实现文件上传(类型、大小过滤——手动、拦截器)
- struts2的文件上传(3):利用拦截器实现文件过滤
- Struts2的文件上传及使用拦截器实现文件过滤
- 4.3.5: Struts2文件上传---拦截器实现文件过滤
- Struts2上传文件拦截器实现文件上传
- struts2实现文件上传(配置拦截器)
- struts2实现多文件上传
- Struts2实现文件上传和下载
- struts2 实现文件上传下载 (下载支持中文文件名)代码
- Struts2实现多文件上传
- Struts2上传文件修改默认错误提示
- struts2拦截器、文件的上传和下载
- Struts2 实现文件上传
- Struts2实现多文件上传
- struts2实现文件批量上传功能
- ajaxFileUpload+struts2实现多文件上传(动态添加文件上传框)
- struts2实现文件上传
- struts2文件上传(使用struts2自带上传方式实现单个文件上传)
- 【SSH网上商城项目实战13】Struts2实现文件上传功能