J2EE開發:struts2 檔案上傳(單個檔案與多個檔案)
<一>簡述:
Struts2的檔案上傳其實也是通過攔截器來實現的,只是該攔截器定義為預設攔截器了,所以不用自己去手工配置,<interceptor name="fileUpload" class="org.apache.struts2.interceptor.FileUploadInterceptor"/>
<二>指定使用者上傳檔案的大小,有兩種方式:
1)預設是在default.properties 檔案的 struts.multipart.maxSize=2097152 鍵值指定為2097152 也就是2M,通過計算 2097152/(1024*1024) = 2 M
那我們可以改變其預設值,只要在src目錄下,新建一個 struts.properties 檔案,指定上傳大小 如下:
一次上傳只可以上傳10M,不管一次上傳多少個檔案,按總和計算
2)在struts.xml檔案中指定,如圖:
其實name就對應struts.properties的鍵,value對應 值
注意:如果即在struts.properties設定檔案上傳大小,又在struts.xml 設定檔案上傳大小,則struts.properties的優先順序高於struts.xml,一般在一處指定上傳大小即可,推薦 struts.properties
<三>Struts2之單檔案上傳
1.fileupload.jsp
- <%@ page language="java"import="java.util.*"pageEncoding="UTF-8"%>
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
-
%>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <basehref="<%=basePath%>">
- <title>My JSP 'fileupload.jsp' starting page</title>
- <metahttp-equiv="pragma"content="no-cache">
- <metahttp-equiv="cache-control"content="no-cache">
- <metahttp-equiv="expires"content="0">
- <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">
- <metahttp-equiv="description"content="This is my page">
- <!--
- <link rel="stylesheet" type="text/css" href="styles.css">
- -->
- </head>
- <body>
- <!-- enctype 預設是 application/x-www-form-urlencoded -->
- <formaction="FileUpload2"enctype="multipart/form-data"method="post">
- 使用者名稱:<inputtype="text"name="usename"><br/>
- 上傳檔案:<inputtype="file"name="file1"><br/>
- <inputtype="submit"value="提交"/>
- </form>
- </body>
- </html>
2.具體處理上傳的 FileUpload.java
- package com.struts2.fileupload;
- 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;
- /**
- * 單個檔案上傳
- * @author Administrator
- * 上傳檔案其實是上傳了兩份,
- *
- * 首先將上傳的檔案儲存到 default.properties 檔案中 struts.multipart.saveDir鍵指定的目錄中
- * 預設是空的
- * 儲存在 Tomcat 6.0\work\Catalina\localhost\struts2目錄下以.tmp字尾名的檔案
- *
- * 如果要在 struts.multipart.saveDir 指定目錄, 則可以在 src資料夾下 建一個 struts.properties,
- * 覆蓋 default.properties 的某些鍵值
- *
- * 還有一份是 存放在自己設定的目錄下
- */
- publicclass FileUpload extends ActionSupport {
- private String usename ;
- private File file1 ; //具體上傳檔案的 引用 , 指向臨時目錄中的臨時檔案
- private String file1FileName ; // 上傳檔案的名字 ,FileName 固定的寫法
- private String file1ContentType ; //上傳檔案的型別, ContentType 固定的寫法
- public String getUsename() {
- return usename;
- }
- publicvoid setUsename(String usename) {
- this.usename = usename;
- }
- public File getFile1() {
- return file1;
- }
- publicvoid setFile1(File file1) {
- this.file1 = file1;
- }
- public String getFile1FileName() {
- return file1FileName;
- }
- publicvoid setFile1FileName(String file1FileName) {
- this.file1FileName = file1FileName;
- }
- public String getFile1ContentType() {
- return file1ContentType;
- }
- publicvoid setFile1ContentType(String file1ContentType) {
- this.file1ContentType = file1ContentType;
- }
- @Override
-
相關推薦
J2EE開發:struts2 檔案上傳(單個檔案與多個檔案)
<一>簡述: Struts2的檔案上傳其實也是通過攔截器來實現的,只是該攔截器定義為預設攔截器了,所以不用自己去手工配置,<interceptor name="fileU
AJAX+Servlet3.0實現非同步檔案上傳(單個檔案、多個檔案上傳、帶檔案的表單提交)
一、上傳單個檔案 1.JSP頁面程式碼 <%@ page language="java" contentType="text/html;
圖片檔案上傳(上面一篇是預覽)
圖片上傳和預覽是一起的,分別寫了兩個元件(上傳、預覽),在上傳中呼叫預覽,因放一起有點多故分開寫了 寫上傳元件attach <template> <div> <div class="pic-list" v-if="temp.fileList.length>
獨立使用UEditor編輯器圖片和檔案上傳(呼叫內建第三方外掛swfupload)
最近百度了一下網上的資料並看了一下ueditor的api,整理並測試了一下,發現還真好用,現在和大家分享一下 這裡配置了一個正常的ueditor編輯器和編輯器外面的兩個上傳按鈕。 首先引入js檔案 1 <script src="ueditor/ueditor.
基於springMVC的檔案上傳(親自實踐,完美的執行)
由於是一個新手菜鳥,所以說對很多東西都不是很瞭解,最近剛好在做一個專案需要做檔案的上傳和下載,以前直接是用寫好的,這個自己動手寫了一下用了半天時間跟大家分享一下。 一.環境是SSM+Maven 首先,你需要搭建好springMC的環境,如果不會搭建的話
java-web檔案上傳下載,可解決多個安全訪問問題
檔案上傳下載,可解決多個安全訪問問題。這個是上年老師教給我們的一個方法,這裡當做筆記記錄一下。說明:對於檔案上傳,瀏覽器在上傳的過程中是將檔案以流的形式提交到伺服器端的,如果直接使用Servlet獲取上傳檔案的輸入流然後再解析裡面的請求引數是比較麻煩,所以一般選擇採用apac
如何在struts2框架下實現檔案上傳(重要步驟)
檔案上傳前臺頁面的三大要素1)form表單的提交方式必須是post提交2)form表單的提交型別必須是enctype.必須多段式.enctype="multipart/form-data"3)檔案上傳使用 <input type="file" name="photo"
struts2基於模型驅動的檔案上傳(上傳視訊為例子)
package cn.hbmy.tas.entity; import java.io.File; public class Video { private Integer id; //id private File video; private String
struts2.x多檔案上傳(使用註解)
一般網站都會提供檔案的上傳與下載的功能,尤其是資料管理型網站。剛好在工作中需要用到,就提前學習了一下,並建了一個maven工程做練習。 1. 本工程使用maven建立工程,是為了省去包匯入細節,其中maven工程的pom.xml檔案主要如下: <!--
struts2框架之文件上傳(參考第三天學習筆記)
input 允許 jakarta ges too 文件的 ESS dir 參數 上傳 1. 上傳對表單的要求 * method=post * enctype=multipart/form-data 2. 上傳對servlet要求 * getParameter()不能再使用!
【Android架構】基於MVP模式的Retrofit2+RXjava封裝之檔案上傳(三)
最近手頭事比較多,抽個空把之前系列也補充一下。 先回顧下之前的 【Android架構】基於MVP模式的Retrofit2+RXjava封裝(一) 【Android架構】基於MVP模式的Retrofit2+RXjava封裝之檔案下載(二) 今天要說的是檔案上傳 1.單圖上
Java-Spring框架實現簡單的檔案上傳(圖片為例)
一、開發環境搭建 下載相應的jar包: 1.commons-fileupload 2.commons-io web.xml 檔案配置: <servlet> &
Springmvc後臺校驗加檔案上傳(完整版)
後臺校驗 <!--資料驗證--> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId>
servlet3.0新特性測試,檔案上傳(1)
servlet程式碼 @MultipartConfig() @WebServlet(name = "test", urlPatterns = "*.do", initParams = { @WebInitPa
Servlet檔案上傳(壓縮檔案、圖片等)
上傳檔案是指把客戶端的檔案傳送到伺服器端,當客戶端向伺服器上傳檔案時,客戶端傳送的HTTP請求正文采用“multipart/form-data”資料型別,它表示複雜的包含多個子部分的複合表單。比如,如下HTML程式碼中,就包含了普通的文字輸入框和兩個用於指定上傳檔案的檔案域。
SpringMVC國際化與檔案上傳(五)
其實SpringMVC中的頁面國際化與上一章的驗證國際化基本一致。 1.對頁面進行國際化 1)首先我們對Spring配置檔案中新增國際化bean配置 <!-- 註冊國際化資訊,必須有id,指定資原始檔名稱,資原始檔在src目錄下 --> <bean id="messa
JSP檔案上傳(精簡乾貨)
1.前端程式碼 <form action="AddVedio" method="post" enctype="multipart/form-data"> <table> <tr> <
檔案上傳(工具類)
一、 import java.io.File; import java.io.IOException; import javax.servlet.http.HttpServletRequest; i
SpringMVC之檔案上傳(進度條顯示)
親測可用 1、mvc-config.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"
Springmvc檔案上傳(servlet3.0)/下載(ssm)以及坑點
以前在servlet上寫過檔案上傳和檔案下載,最近由於需求需要集合到ssm中,有些坑點以前都忘記了。 檔案上傳:檔案上傳首先要在xml中配置上傳資訊,ssm有強大的過濾功能,你不宣告讓某種型別進來他是進不來的,我是用的是servlet3.0的part上傳檔案,