Struts文件上传包含修改文件上传参数,多文件上传
生活随笔
收集整理的這篇文章主要介紹了
Struts文件上传包含修改文件上传参数,多文件上传
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
配置xml:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!-- 修改緩存文件目錄 --> <constant name="struts.multipart.saveDir" value="f:/testwork"></constant><package name="upload" namespace="/upload" extends="struts-default"><action name="upload" class="star.july.upload.UploadAction" method="upload"><!-- 修改文件上傳參數(shù),配置攔截器的參數(shù) --><!-- struts2內(nèi)置的FileUploadInterceptor攔截器 --><!-- fileUpload:默認(rèn)包下聲明的攔截器 --><interceptor-ref name="fileUpload"><!-- 文件大小限制:10M --><param name="maximumSize">10485760</param><!-- 文件類型限制:mime類型 --><!-- 允許類型 --><!-- <param name="allowedTypes">image/jpg,image/jpeg,image/gif</param> --><!-- 允許的文件后綴 --><param name="allowedExtensions">jpg,jpeg,gif</param></interceptor-ref><!-- 繼承系統(tǒng)默認(rèn)攔截器,不繼承則獲取不了文件信息 --><interceptor-ref name="defaultStack"></interceptor-ref><!-- 定義服務(wù)器目錄,接收文件 --><param name="savePath">f:/testwork/tempFiles/</param><!-- 定義錯誤視圖INPUT --><result name="input">/upload.jsp</result><result name="success">/index.jsp</result></action><!-- 多個(gè)文件上傳 --><action name="uploadMulti" class="star.july.upload.UploadActionMulti" method="upload"><!-- 修改文件上傳參數(shù),配置攔截器的參數(shù) --><!-- struts2內(nèi)置的FileUploadInterceptor攔截器 --><!-- fileUpload:默認(rèn)包下聲明的攔截器 --><interceptor-ref name="fileUpload"><!-- 文件大小限制:10M --><param name="maximumSize">10485760</param><!-- 文件類型限制:mime類型 --><!-- 允許類型 --><!-- <param name="allowedTypes">image/jpg,image/jpeg,image/gif</param> --><!-- 允許的文件后綴 --><param name="allowedExtensions">jpg,jpeg,gif</param></interceptor-ref><!-- 繼承系統(tǒng)默認(rèn)攔截器,不繼承則獲取不了文件信息 --><interceptor-ref name="defaultStack"></interceptor-ref><!-- 定義服務(wù)器目錄,接收文件 --><param name="savePath">f:/testwork/tempFiles/</param><!-- 定義錯誤視圖INPUT --><result name="input">/upload.jsp</result><result name="success">/index.jsp</result></action></package></struts>
UploadAction:
package star.july.upload;import java.io.File; import java.io.IOException;import org.apache.commons.io.FileUtils;import com.opensymphony.xwork2.ActionSupport;public class UploadAction extends ActionSupport{//文件內(nèi)容private File attach;//文件名稱private String attachFileName;//文件類型private String attachContentType;public void setAttach(File attach) {this.attach = attach;}public void setAttachFileName(String attachFileName) {this.attachFileName = attachFileName;}public void setAttachContentType(String attachContentType) {this.attachContentType = attachContentType;} //普通郵件信息private String email;public void setEmail(String email) {this.email = email;}//定義服務(wù)器目錄private String savePath;public void setSavePath(String savePath) {this.savePath = savePath;}public String upload() throws Exception{//輸出文件信息System.out.println(attach);System.out.println(attachFileName);System.out.println(attachContentType);System.out.println(email);//拷貝文件到服務(wù)器,存入硬盤FileUtils.copyFile(attach, new File(savePath+attachFileName));return SUCCESS;} }
多文件上傳,用數(shù)組或集合 UploadActionMulti.java package star.july.upload;import java.io.File; import java.io.IOException;import org.apache.commons.io.FileUtils;import com.opensymphony.xwork2.ActionSupport;/*** 多個(gè)文件上傳* 可以使用數(shù)組或集合解決* @author Starjuly**/ public class UploadActionMulti extends ActionSupport{//文件內(nèi)容private File[] attach;//文件名稱private String[] attachFileName;//文件類型private String[] attachContentType;public void setAttach(File[] attach) {this.attach = attach;}public void setAttachFileName(String[] attachFileName) {this.attachFileName = attachFileName;}public void setAttachContentType(String[] attachContentType) {this.attachContentType = attachContentType;} //普通郵件信息private String email;public void setEmail(String email) {this.email = email;}//定義服務(wù)器目錄private String savePath;public void setSavePath(String savePath) {this.savePath = savePath;}public String upload() throws Exception{//遍歷輸出文件信息for(int i = 0 ; i<attach.length;i++){//輸出文件信息System.out.println(attach[i]);System.out.println(attachFileName[i]);System.out.println(attachContentType[i]);//拷貝文件到服務(wù)器,存入硬盤FileUtils.copyFile(attach[i], new File(savePath+attachFileName));}System.out.println(email);return SUCCESS;} }
upload.jsp網(wǎng)頁(單文件) <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><title>title</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><!-- 錯誤視圖返回信息 --> <!-- <s:fielderror></s:fielderror> --><form action="<c:url value='/upload/upload'/>" method="post" enctype="multipart/form-data">文件上傳:<input type="file" name="attach"/><br>郵箱:<input type="text" name="email"/><br><input type="submit" value="提交"/></form></body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%-- <%@ taglib uri="/struts-tags"prefix="s" %> --%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><title>多個(gè)文件上傳</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><!-- 錯誤視圖返回信息 --> <!-- <s:fielderror></s:fielderror> --><form action="<c:url value='/upload/uploadMulti'/>" method="post" enctype="multipart/form-data">文件上傳:<input type="file" name="attach"/><br>文件上傳:<input type="file" name="attach"/><br>文件上傳:<input type="file" name="attach"/><br>文件上傳:<input type="file" name="attach"/><br>郵箱:<input type="text" name="email"/><br><input type="submit" value="提交"/></form></body> </html>
總結(jié)
以上是生活随笔為你收集整理的Struts文件上传包含修改文件上传参数,多文件上传的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: day29Struts 类型转换和自定义
- 下一篇: Struts2 文件下载