基于struts2的文件上传示例
来源:互联网 发布:ubuntu cuda test 编辑:程序博客网 时间:2024/04/27 21:04
在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文件上传
- Linux 下C使用XML传递消息(字符串)
- JSP自定义标签开发入门
- android 发送短信功能
- 九度oj 题目1011:最大连续子序列 【ZJU2005机试题2】
- XML 学习
- 基于struts2的文件上传示例
- 直接调用带参数方法创建新线程及 wpf中跨线程访问控件
- WIKIOI 1142奖学金
- jrebel(破解版)+eclipse +jetty/tomcat 配置,实现热部署
- 有你就是温暖
- 对嵌入式的学习问题
- 题目1175:打牌
- 使用Redis的脚本功能实现Redis中数据简单查询
- android中 分享的写法