struts2文件上传注意事项
2014-04-19 00:00
399 查看
摘要: 今天在网上收集了一些struts2文件上传资料自己做了些修改里面涉及一些自己程序中出现问题和需要注意的地方。
给表单form设置属性:enctype="multipart/form-data",为了保证file文件内容能正常传递。
注意保持表单中的action名称与struts.xml中设置的一致,为了保证通过配置文件能够找到处理表单action类。
在struts.xml应设置常量<constant name="struts.multipart.saveDir" value="/tmp">。这是因为文件上传时在内存中需要一个临时存储该文件内容的地方也即"/tmp"只是个临时中转站。若没有配置该常量,后台会报not found struts.multipart.saveDir"错。
因为上传的文件是存储在服务器下的(我这里是将文件保存在web应用目录upload文件下),因此事先必须先创建upload文件否则出现无法找到相应路径异常。
相关代码:jsp页面
struts.xml配置文件
处理上传文件类UploadAction
验证文件是否上传成功:successUpload.jsp页面
给表单form设置属性:enctype="multipart/form-data",为了保证file文件内容能正常传递。
注意保持表单中的action名称与struts.xml中设置的一致,为了保证通过配置文件能够找到处理表单action类。
在struts.xml应设置常量<constant name="struts.multipart.saveDir" value="/tmp">。这是因为文件上传时在内存中需要一个临时存储该文件内容的地方也即"/tmp"只是个临时中转站。若没有配置该常量,后台会报not found struts.multipart.saveDir"错。
因为上传的文件是存储在服务器下的(我这里是将文件保存在web应用目录upload文件下),因此事先必须先创建upload文件否则出现无法找到相应路径异常。
相关代码:jsp页面
<form action="Upload" method="post" enctype="multipart/form-data"> <table> <tr> <td>上传文件:<input type="file" name="file"></td></tr> <tr><td><input type="submit" value="上传"/></td></tr> </table> </form>
struts.xml配置文件
<package name="default" extends="struts-default"> <action name="Upload" class="com.action.UploadAction"> <result name="success">/successUpload.jsp</result> </action> </package>
处理上传文件类UploadAction
package com.action; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; public class UploadAction extends ActionSupport{ /** * */ private static final long serialVersionUID = 1L; private File file; public File getFile() { return file; } public void setFile(File file) { this.file = file; } public String getFileFileName() { return fileFileName; } public void setFileFileName(String fileFileName) { this.fileFileName = fileFileName; } public String getFileContentType() { return fileContentType; } public void setFileContentType(String fileContentType) { this.fileContentType = fileContentType; } private String fileFileName; private String fileContentType; @Override public String execute() throws Exception { // TODO Auto-generated method stub InputStream inputStream = new FileInputStream(this.getFile()); String path = ServletActionContext.getServletContext().getRealPath("/upload"); System.out.println("获得的路径为:"+path); OutputStream outputStream = new FileOutputStream(new File(path,fileFileName)); byte buffer[] = new byte[1024]; int length = 0; while((length=inputStream.read(buffer))>0){ outputStream.write(buffer,0,length); } outputStream.close(); inputStream.close(); return SUCCESS; } }
验证文件是否上传成功:successUpload.jsp页面
<body> 上传文件名:${fileFileName} <br/> 上传文件类型:${fileContentType} </body>
相关文章推荐
- Struts2文件上传,以及各种注意事项
- struts2文件上传及注意事项
- 使用commons-fileupload包进行大文件上传注意事项
- 文件上传注意事项
- struts2头像上传练习及其注意事项
- 同你分享PHP文件上传的一些注意事项
- Servlet上传文件详细解析以及注意事项
- AFNetworking_网络文件下载上传详解(注意事项)
- Android5.0以上Webview上传文件注意事项
- Flash IIS7 环境下上传大文件注意事项
- struts2上传文件注意的关键点
- linux下php上传文件注意事项
- SVN上传文件注意事项-------------------养成良好的项目文件上传习惯
- PHP上传文件注意事项
- PHP上传大文件的注意事项
- Servlet上传文件详细解析以及注意事项
- SpringMVC文件上传注意事项
- Servlet上传文件详细解析以及注意事项
- AjaxFileUpload文件上传 及注意事项
- Struts2的配置文件加载顺序及常用常量名及更改方法、注意事项