springmvc實(shí)現(xiàn)文件上傳功能
一個(gè)簡(jiǎn)單的springmvc文件上傳例子
所需的依賴
只需要這個(gè)就好了。在idea的依賴關(guān)系圖中,commons-fileupload包含了commons-io依賴
<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.2</version> </dependency>
一個(gè)簡(jiǎn)單的文件上傳的頁面
<form action="http://localhost:8080/springmvc_Web_exploded/fff" method="post" enctype="multipart/form-data"> <input type="file" name="file" id="filer_input" multiple="multiple"> <input type="submit" value="Submit"> </form>
在spring的配置文件中注入一個(gè)文件上傳的bean
spring.xml
<!-- 文件上傳的bean--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!--上傳文件的最大大小,單位為字節(jié) --> <property name="maxUploadSize" value="17367648787"></property> <!-- 上傳文件的編碼 --> <property name="defaultEncoding" value="UTF-8"></property> </bean>
實(shí)例代碼
@PostMapping("/fff") public String file(@PathVariable("file")MultipartFile file, HttpServletRequest req) throws IOException { //判斷文件不存在 if (file.isEmpty()){ return "faile.html"; } //我想放到這個(gè)地方文件的路徑 String realPath = req.getServletContext().getRealPath("/WEB-INF/file"); //返回客戶端文件系統(tǒng)中的原始文件名 String filename = file.getOriginalFilename(); File myFile = new File(realPath, filename); if (!myFile.getParentFile().exists()){ myFile.getParentFile().mkdir(); System.out.println("文件夾被創(chuàng)建了"); } //將前端傳過來的文件,傳到自己new的File對(duì)象中 file.transferTo(myFile); return "success.html"; }
注意事項(xiàng):
1、文件上傳請(qǐng)求必須用post請(qǐng)求。
2、注意路徑問題
3、前端的form表單必須添加 enctype="multipart/form-data" 這個(gè)屬性
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- SpringMVC實(shí)現(xiàn)文件上傳下載功能
- SpringMVC實(shí)現(xiàn)文件上傳與下載
- SpringMVC 通過commons-fileupload實(shí)現(xiàn)文件上傳功能
- IDEA實(shí)現(xiàn) springmvc的簡(jiǎn)單注冊(cè)登錄功能的示例代碼
- Spring+SpringMVC+JDBC實(shí)現(xiàn)登錄的示例(附源碼)
- Spring mvc 實(shí)現(xiàn)用戶登錄的方法(攔截器)
- springmvc+shiro+maven 實(shí)現(xiàn)登錄認(rèn)證與權(quán)限授權(quán)管理
- Spring MVC實(shí)現(xiàn)文件上傳及優(yōu)化案例解析
相關(guān)文章
SpringBoot2.0整合jackson配置日期格式化和反序列化的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot2.0整合jackson配置日期格式化和反序列化的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11Flowable數(shù)據(jù)庫表分類及數(shù)據(jù)字典解析
這篇文章主要介紹了Flowable數(shù)據(jù)庫表分類及數(shù)據(jù)字典解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11Spring如何通過注解存儲(chǔ)和讀取對(duì)象詳解
在Spring中,要想更簡(jiǎn)單的存儲(chǔ)和讀取對(duì)象的核心是使用注解,這篇文章主要給大家介紹了關(guān)于Spring如何通過注解存儲(chǔ)和讀取對(duì)象的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07Mapper.xml中查詢返回帶有List屬性的實(shí)體類結(jié)果問題
這篇文章主要介紹了Mapper.xml中查詢返回帶有List屬性的實(shí)體類結(jié)果問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06Struts2中Action三種接收參數(shù)形式與簡(jiǎn)單的表單驗(yàn)證功能
本文以登錄驗(yàn)證為例,進(jìn)行代碼展示,下面給大家詳細(xì)介紹Struts2中Action三種接收參數(shù)形式與簡(jiǎn)單的表單驗(yàn)證功能,需要的朋友參考下2017-03-03mybatis動(dòng)態(tài)新增(insert)和修改(update)方式
這篇文章主要介紹了mybatis動(dòng)態(tài)新增(insert)和修改(update)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05基于Redis實(shí)現(xiàn)分布式應(yīng)用限流的方法
本篇文章主要介紹了基于 Redis 實(shí)現(xiàn)分布式應(yīng)用限流的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-12-12