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>
相關文章
- 檔案上傳下載
- 檔案的上傳與下載
- JAVA檔案上傳下載Java
- springboot 檔案上傳下載Spring Boot
- 檔案上傳與下載
- 使用SecureCRT上傳下載檔案Securecrt
- minio檔案上傳與下載
- SpringMVC檔案上傳下載(單檔案、多檔案)SpringMVC
- springboot 中檔案的上傳和下載Spring Boot
- 【liunx命令】上傳下載檔案的方法
- Netty接收HTTP檔案上傳及檔案下載NettyHTTP
- spring cloud feign 檔案上傳和檔案下載SpringCloud
- Feign實現檔案上傳下載
- java 上傳 下載檔案工具類Java
- 檔案下載上傳小工具
- 檔案上傳下載小工具
- Spring Boot 檔案上傳與下載Spring Boot
- xshell 使用 sftp上傳下載檔案FTP
- springcloud中feign檔案上傳、下載SpringGCCloud
- 使用Vue+go實現前後端檔案的上傳下載,csv檔案上傳下載可直接照搬VueGo後端
- Java SE 檔案上傳和檔案下載的底層原理Java
- 檔案上傳/下載後臺程式碼
- SpringMVC實現檔案上傳&下載(2)SpringMVC
- xshell安裝上傳下載檔案命令
- Koa2 之檔案上傳下載
- vue實現Excel檔案的上傳與下載VueExcel
- 精講RestTemplate第6篇-檔案上傳下載與大檔案流式下載REST
- 基於SpringWeb MultipartFile檔案上傳、下載功能SpringWeb
- 前端實現檔案下載和拖拽上傳前端
- 關於檔案上傳下載的編碼問題
- 大檔案傳輸解決方案:分片上傳 / 下載限速
- MinIO上傳和下載檔案及檔案完整性校驗.
- Python介面自動化——檔案上傳/下載介面Python
- JavaWeb之實現檔案上傳與下載工具JavaWeb
- JavaWeb之實現檔案上傳與下載元件JavaWeb元件
- JavaWeb之實現檔案上傳與下載示例JavaWeb
- 檔案上傳與下載(免去重學煩惱)
- React中使用fetch實現檔案上傳下載React