Struts2的檔案上傳下載
Struts2檔案上傳概述
Struts2使用Commons-FileUpload上傳框架從HttpServletRequest請求中解析出所有的表單域,包括檔案域和普通表單域。
Commons-FileUpload框架是Apache組織下的jakarta-commons專案的一個子專案,藉助於Commons-IO專案,該框架可以方便地將使用”multipart/form-data“編碼的表單域資料解析出來
Struts2的檔案上傳
struts2上傳檔案基本語法:
使用表單File域來上傳檔案,同時必須設定表單的enctype=“multipart/form-data”以及method=“post”
在動作中宣告以下三個變數:
File XXX:對應上傳檔案內容的變數,與檔案域名稱一致
String XXXFileName:對應上傳檔案的檔名(可選)
String XXXContentType:對應上傳檔案的型別(可選)
在動作中定義對應上述變數的屬性的setter和getter方法
設定上傳檔案的大小和型別
在檔案上傳時可以限制檔案的大小和型別
使用Struts2框架所提供的fileUpload攔截器,通過指定以下兩個屬性可以很容易達到上述要求:
allowedTypes:指定允許上傳的檔案型別
maximumSize:指定允許上傳的檔案大小,
單位為位元組
當上傳檔案不符合要求時,系統自動轉到
input邏輯檢視。
示例:
上傳後這裡會展示一個連結
pom.xml依賴:
<dependencies>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>7.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.ow2.asm/asm-commons -->
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-commons</artifactId>
<version>7.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.ow2.asm/asm-tree -->
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-tree</artifactId>
<version>7.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.8.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.freemarker/freemarker -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.28</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.javassist/javassist -->
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.20.0-GA</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.12.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/ognl/ognl -->
<dependency>
<groupId>ognl</groupId>
<artifactId>ognl</artifactId>
<version>3.1.26</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.struts/struts2-core -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.5.22</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
相關文章
- 檔案上傳下載
- struts2上傳多個檔案,下載 配製!程式碼
- JAVA Web 之 struts2檔案上傳下載演示(一)(轉)JavaWeb
- struts2 檔案上傳和下載,以及部分原始碼解析原始碼
- 檔案的上傳與下載
- 檔案上傳與下載
- JAVA檔案上傳下載Java
- Vertx 檔案上傳下載
- centos上傳下載檔案CentOS
- 【SSH2(實踐篇)】--Struts2檔案上傳下載例項
- 檔案上傳和下載功能
- 使用SecureCRT上傳下載檔案Securecrt
- java上傳檔案跟批量下載檔案Java
- struts2 檔案上傳為空
- 【liunx命令】上傳下載檔案的方法
- Jsp+Servlet實現檔案上傳下載(一)--檔案上傳JSServlet
- SpringMVC檔案上傳下載(單檔案、多檔案)SpringMVC
- minio檔案上傳與下載
- springboot 檔案上傳下載Spring Boot
- 檔案上傳下載小工具
- java 上傳 下載檔案工具類Java
- 檔案下載上傳小工具
- spring webflux檔案上傳下載SpringWebUX
- iterm2上傳下載檔案
- 從ftp上傳下載檔案(二)FTP
- 從ftp上傳下載檔案(一)FTP
- SpringMVC中的檔案上傳和下載SpringMVC
- java實現sftp檔案的上傳下載JavaFTP
- PHP開發之檔案的上傳下載PHP
- 基於servlet的檔案上傳和下載Servlet
- 使用Vue+go實現前後端檔案的上傳下載,csv檔案上傳下載可直接照搬VueGo後端
- Netty接收HTTP檔案上傳及檔案下載NettyHTTP
- Java SE 檔案上傳和檔案下載的底層原理Java
- struts2檔案下載及 inputStream的理解
- Spring Boot 檔案上傳與下載Spring Boot
- xshell 使用 sftp上傳下載檔案FTP
- Feign實現檔案上傳下載
- Koa2 之檔案上傳下載