(Struts2学习篇) Struts2文件处理之文件上传
来源:互联网 发布:数据库模式怎么理解 编辑:程序博客网 时间:2024/05/21 17:53
在webroot文件夹下创建fileupload文件夹:
单文件上传:
上传页面:
<%@ page language="java" pageEncoding="utf-8" contentType="text/html; charset=utf-8"%><%@ taglib uri="/struts-tags" prefix="s"%><html> <head> <title>My JSP 'index.jsp' starting page</title> </head> <body> <form action="${pageContext.request.contextPath}/upload/uploadAction_saveFile.action" name="form1" method="post" enctype="multipart/form-data" > 上传文件名称:<input type="file" name="uploadImage"> <input type="submit" value="上传"> </form> </body></html>
创建对应的uploadAction类
import java.io.File;import java.io.IOException;import javax.servlet.ServletContext;import org.apache.commons.io.FileUtils;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;@SuppressWarnings("serial")public class UploadAction extends ActionSupport {/* * 上传文件的存储的临时文件: * apache-tomcat-6.0.35\\work\\Catalina\\localhost\\itcast1105_struts\\upload__5fee1dc7_13ad3d1835b__8000_00000000.tmp */private File uploadImage;//上传文件的类型:text/plainprivate String uploadImageContentType;//上传文件的真是名称private String uploadImageFileName;public File getUploadImage() {return uploadImage;}public void setUploadImage(File uploadImage) {this.uploadImage = uploadImage;}public String getUploadImageContentType() {return uploadImageContentType;}public void setUploadImageContentType(String uploadImageContentType) {this.uploadImageContentType = uploadImageContentType;}public String getUploadImageFileName() {return uploadImageFileName;}public void setUploadImageFileName(String uploadImageFileName) {this.uploadImageFileName = uploadImageFileName;}public String saveFile(){ServletContext sc = ServletActionContext.getServletContext();String path = sc.getRealPath("/fileupload");//创建文件用于接收上传上来的林十年文件File file = new File(path, uploadImageFileName);try {FileUtils.copyFile(uploadImage, file);} catch (IOException e) {e.printStackTrace();}//将临时文件清空uploadImage.delete();return "success";}}
在struts.xml文件中配置文件上传的总大小
<!-- 配置文件上传的总大小 -->
<constant name="struts.multipart.maxSize" value="2097152000"></constant>
配置相应的拦截器参数
<action name="uploadAction_saveFile" class="UploadAction" method="saveFile"><result name="success">/upload/success.jsp</result><result name="input">/upload/error.jsp</result><!-- 配置拦截器的参数,这里是文件上传拦截器 --><interceptor-ref name="defaultStack"> <!-- 配置文件上传拦截器的参数 * 与定义参数的顺序无关 * 允许的类型(allowedTypes)和允许的扩展名(allowedExtensions)必须保持一致 --> <!-- * 配置上传文件的大小 * struts.xml文件中配置的是上传文件的总大小 * 这里配置的是上传文件的单个大小 --> <param name="fileUpload.maximumSize">20971520</param> <!-- 配置上传文件允许的类型,如果配置多个值的话,用","隔开 --> <param name="fileUpload.allowedTypes">text/plain,application/msword</param> <!-- 配置上传文件的扩展名,如果配置多个值的话,用","隔开 --> <param name="fileUpload.allowedExtensions">.txt</param> </interceptor-ref></action>
多文件上传:
页面:
<%@ page language="java" pageEncoding="utf-8" contentType="text/html; charset=utf-8"%><%@ taglib uri="/struts-tags" prefix="s"%><html> <head> <title>My JSP 'index.jsp' starting page</title> </head> <body> <form action="${pageContext.request.contextPath}/upload/uploadsAction_saveFiles.action" name="form1" method="post" enctype="multipart/form-data" > 上传文件名称:<input type="file" name="uploadImages"><br> 上传文件名称:<input type="file" name="uploadImages"><br> 上传文件名称:<input type="file" name="uploadImages"><br> <input type="submit" value="上传"> </form> </body></html>
action中的处理方法
private File [] uploadImages;private String [] uploadImagesContentType;private String [] uploadImagesFileName;public String saveFiles(){System.out.println("UploadsAction ******** saveFiles()");ServletContext sc = ServletActionContext.getServletContext();String path = sc.getRealPath("/fileupload");for(int i=0;i<uploadImages.length;i++){File file = new File(path, uploadImagesFileName[i]);try {FileUtils.copyFile(uploadImages[i], file);} catch (IOException e) {e.printStackTrace();}uploadImages[i].delete();}return "success";}
0 0
- (Struts2学习篇) Struts2文件处理之文件上传
- struts2学习之文件上传
- struts2学习之---文件上传
- (Struts2学习篇) Struts2文件处理之文件下载
- (struts2学习篇)struts2文件上传
- struts2之文件上传
- struts2之文件上传
- Struts2之上传文件
- Struts2之文件上传
- Struts2之文件上传
- Struts2之文件上传
- Struts2之文件上传
- Struts2之文件上传
- Struts2之文件上传
- Struts2之文件上传
- struts2之文件上传
- struts2之文件上传
- struts2之文件上传
- 使用Java的子类调用构造方法super()和this()
- 数据库之关系代数
- [LeetCode112]Triangle
- Codeforces Testing Round #10 A. Forgotten Episode
- ffmpeg(10) parsing section
- (Struts2学习篇) Struts2文件处理之文件上传
- Git GPG error signing tags
- codeforces round #250 div1
- picketView-点餐-文字
- 【ACM训练计划】 数论、组合数学 好题精选+解题报告
- 安装piwik报错: you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribut
- Codeforces Testing Round #10 B. Balancer
- 从输入 URL 到页面加载完成的过程中都发生了什么事情?
- Single Sign-On(SSO)单点登陆的具体实现方案