struts2上传文件upload(单文件上传)
2014-01-05 16:30
183 查看
JSP页面设置:
<body> <form action="upload.action" method="post" enctype="multipart/form-data"> <input type="file" name="filename"> <br /> <input type="submit" value="上传"> </form> </body>
Action的编写方式,默认情况下上传大小为2M可以通过配置文件进行调整
public class Upload extends ActionSupport { // Struts会自动清空临时空间当中的文件,如果不自动清空的话可以调用方法手动清理掉myFile.delete() private File filename; // 上传的临时文件 private String filenameFileName;// 文件名 private String filenameContentType;// 文件类型 public File getFilename() { return filename; } public void setFilename(File filename) { this.filename = filename; } public String getFilenameFileName() { return filenameFileName; } public void setFilenameFileName(String filenameFileName) { this.filenameFileName = filenameFileName; } public String getFilenameContentType() { return filenameContentType; } public void setFilenameContentType(String filenameContentType) { this.filenameContentType = filenameContentType; } @Override public String execute() throws Exception { String parent = ServletActionContext.getServletContext().getRealPath( "/upload"); String path = filenameFileName;// 目标 File file = new File(parent, path); FileUtils.copyFile(filename, file); // TODO Auto-generated method stub return SUCCESS; } }
struts.xml配置:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <!-- 该属性指定需要Struts2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts2处理。 如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开。 --> <constant name="struts.action.extension" value="do" /> <!-- 设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭 --> <constant name="struts.serve.static.browserCache" value="false" /> <!-- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开 --> <constant name="struts.configuration.xml.reload" value="true" /> <!-- 开发模式下使用,这样可以打印出更详细的错误信息 --> <constant name="struts.devMode" value="true" /> <!-- 默认的视图主题 --> <constant name="struts.ui.theme" value="simple" /> <!--<constant name="struts.objectFactory" value="spring" />--> <!--解决乱码 --> <constant name="struts.i18n.encoding" value="UTF-8" /> <!-- 指定允许上传的文件最大字节数。默认值是2097152(2M) --> <constant name="struts.multipart.maxSize" value="10701096"/> <!-- 设置上传文件的临时文件夹,默认使用javax.servlet.context.tempdir --> <constant name="struts.multipart.saveDir " value="d:/tmp" /> <package name="upload" namespace="/" extends="struts-default"> <action name="*_upload" class="com.ljq.action.UploadAction" method="{1}"> <result name="success">/WEB-INF/page/message.jsp</result> </action> </package> <package name="upload2" extends="struts-default"> <action name="upload2" class="com.ljq.action.UploadAction2" method="execute"> <!-- 动态设置savePath的属性值 --> <param name="savePath">/images</param> <result name="success">/WEB-INF/page/message.jsp</result> <result name="input">/upload/upload.jsp</result> <interceptor-ref name="fileUpload"> <!-- 配置上传文件的允许的文件类型 --> <param name="allowedTypes">image/bmp,image/png,image/gif,image/jpeg</param>
<!-- 允许上传的文件扩展名 -->
<param name="allowedExtensions"></param>
<!-- 文件大小, 以字节为单位 --> <param name="maximumSize">1025956</param> </interceptor-ref> <!-- 默认拦截器必须放在fileUpload之后,否则无效 --> <interceptor-ref name="defaultStack" /> </action> </package> </struts>
相关文章推荐
- 关于struts2文件上传中的uploadContentType和uploadFileName
- Struts2上传文件报错Unable to parse request org.apache.commons.fileupload.FileUploadBase$IOFileUploadExcept
- struts2上传文件upload(多文件上传)
- ajaxFileUpload+Struts2文件上传
- Struts2文件上传 深入FileUploadInterceptor
- ocupload、struts2实现excel文件上传,poi解析
- ajaxFileUpload 异步上传文件配合Struts2的简单使用
- 关于struts2文件上传中的uploadContentType和uploadFileName
- ajaxFileUpload+struts2实现多文件上传(动态添加文件上传框)
- jquery uploadify 3.2 基于struts2 上传文件
- struts2 使用ajaxfileupload.js上传文件,处理返回是总是进入Error函数
- struts2的上传文件大小限制引起HTTP Status 404 - No result defined for action com.cpms.action.organ.UploadFile and result inpu
- AjaxFileUpload+Struts2实现多文件上传功能
- FCK和struts2整合,文件上传的时候出现error on file upload,error number:203
- JQuery、ajaxFileUpload、Struts2和注解异步上传文件
- 关于struts2文件上传中的uploadContentType和uploadFileName
- Struts2上传文件报错Unable to parse request org.apache.commons.fileupload.FileUploadBase$IOFileUploadExcept
- Struts2中文件过大上传失败问题解决方案org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException
- ajaxFileUpload+struts2实现异步上传文件
- ajaxFileUpload+struts2实现多文件上传