Spring MVC處理Multipart/form-data的方法介紹(程式碼範例)
這篇文章帶給大家的內容是關於Spring MVC處理Multipart/form-data的方法介紹(程式碼範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
Multipart/form-data
Multipart/form-data 為表單的MIME編碼屬性之一,共有三個值
① application/ x-www-form-urlencoded
② multipart/form-data
#③ text/plain
①為Html表單預設傳輸編碼類型
#②是表單上傳的非文字的內容,傳遞的是文件數據,設定該屬性再配合post請求方式從而實現文件上傳
③是傳輸為純文字的意思,在發郵件時要設定這種編碼,拿text/plain和text/html做比較,前者用來傳輸純文字文件,後者則是傳遞html代碼的編碼類型,在發送頭文件時才用得上
上述所提到的MIME,它的英文全名為"Multipurpose Internet Mail Extensions" 多功能Internet 郵件擴充服務,它是一種多用途網際郵件擴充協定。透過MIME,瀏覽器的再請求,會告訴伺服器接收的資料是什麼類型.
Spring MVC 處理 Multipart/form-data
兩種實作方式:
1、CommonsMultipartResolver : 依賴Apache
2、StandardServletMultipartResolver : 依賴Servlet 3.0 ,SpringBoot預設支援該方式
1、CommonsMultipartResolver 的設定
弊端:無法設定請求整體的最大容量
(1)宣告Bean與設定上傳參數:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="uploadTempDir" value="/temp"/> <!--设置上传目录/temp --> <property name="maxUploadSize" value="2097152"/> <!--最大文件容量设置为2M--> <property name="maxInMemorySize" value="0"/> · <!--最大的内存大小设置为0,超过0就写入磁盘--> </bean>
2、StandardServletMultipartResolver 的配置
(1)宣告Bean:
<bean id="multipartResolver" class="org.springframework.web.multipart.support.StandardServletMultipartResolver”>
@Bean(name = "multipartResolver") public StandardServletMultipartResolver getStandardServletMultipartResolver(){ return new StandardServletMultipartResolver(); }
(2) 配置上傳參數
web.xml 配置
<servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> <multipart-config> <!--上传到/temp 目录--> <location>/temp/upload</location> <!--文件大小为2M--> <max-file-size>2097152</max-file-size> <!--整个请求不超过4M--> <max-request-size>4194304</max-request-size> <!--大于0M的所有文件都要写入磁盘--> <file-size-threshold>0</file-size-threshold> </multipart-config> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
配置類別中配置
<form action="/save" method="post" enctype="multipart/form-data"> <input type="file" name="pic"> <input type="submit"> </form>
二、Spring MVC 處理
1、表單:
<form action="/save" method="post" enctype="multipart/form-data"> <input type="file" name="pic"> <input type="submit"> </form>
2、MVC接收:
@RequestMapping(value = "/save",method = RequestMethod.POST) public String getHome(MultipartFile pic) throws IOException { Files.copy(pic.getInputStream(), Paths.get(ServletContext.getRealPath("/temp"),pic.getOriginalFilename)); return null; }
以上是Spring MVC處理Multipart/form-data的方法介紹(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

了解SpringMVC的關鍵特性:掌握這些重要的概念,需要具體程式碼範例SpringMVC是一種基於Java的Web應用開發框架,它透過模型-視圖-控制器(MVC)的架構模式來幫助開發人員建立靈活可擴展的Web應用程式。了解和掌握SpringMVC的關鍵特性將使我們能夠更有效地開發和管理我們的網路應用程式。本文將介紹一些SpringMVC的重要概念

Java後端開發是一種非常重要的技術,它是現代網路應用程式的核心。 Java後端開發主要涉及APIMVC框架開發。在這篇文章中,我將介紹如何使用JavaSpringMVC進行APIMVC框架開發。 JavaSpringMVC是一個非常強大的開源框架,它主要用於網路應用程式的開發。它使用了MVC(Model-View-Controller)的架構模

簡介RESTfulapi已經成為現代WEB應用程式中不可或缺的一部分。它們提供了一種標準化的方法來創建和使用Web服務,從而提高可移植性、可擴展性和易用性。在Java生態系統中,JAX-RS和springmvc是建構RESTfulAPI的兩個最受歡迎的框架。本文將深入探討這兩種框架,並比較它們的特性、優點和劣勢,幫助您做出明智的決定。 JAX-RS:JAX-RSAPIJAX-RS(JavaAPIforRESTfulWebServices)是由JavaEE開發的標準JAX-RSAPI,用於開發REST

Spring MVC 架構中,Controller 套件透過處理使用者請求並回傳回應來實現業務邏輯,職責包括:接收使用者請求(通常透過 HTTP)。驗證和處理請求參數。呼叫適當的業務邏輯(通常是服務層)。渲染視圖並傳回給使用者(通常是 HTML、JSON 或 XML)。

在後台管理系統中,通常需要存取權限控制,以限制不同使用者對介面的存取能力。如果使用者缺乏特定權限,則無法存取某些介面。本文將用waynboot-mall專案舉例,跟大家介紹常見後管系統如何引入權限控制框架SpringSecurity。大綱如下:waynboot-mall專案網址:https://github.com/wayn111/waynboot-mall一、什麼是SpringSecuritySpringSecurity是一個基於Spring框架的開源項目,旨在為Java應用程式提供強大且靈活的安

SpringWebFlux與SpringMVC的關鍵差異在於響應式程式設計(非同步處理)與阻塞式I/O模型。這種差異導致了架構上的關鍵差異:非同步處理和事件循環模型;基於函數式介面的處理程序;非同步響應流(Publisher物件);簡化的異常處理機制;較高的吞吐量和可擴展性。

Go和Java的主要差異在於型別系統、並發性和記憶體管理。 Go使用靜態類型系統,強制編譯時聲明類型,而Java使用半靜態類型系統,允許在執行時間推斷類型。 Go的Goroutine支援高並發性,而Java則使用Java執行緒和鎖定機制。 Go使用垃圾收集器自動管理內存,而Java需要明確管理某些資源。這些差異導致了不同的應用場景:Go適用於高並發Web服務、雲端運算和大數據,而Java適用於需要複雜性和穩定性的企業級應用程式。

Java架構是一門廣泛應用於企業級應用開發的程式語言。隨著技術的不斷進步和開發需求的不斷變化,Java架構也經歷了多次演變和發展。本文將探討Java架構從J2EE到SpringBoot的演變與發展歷程。 J2EE時代J2EE(Java2Platform,EnterpriseEdition)是Java架構的一個重要里程碑,推出於1999年。它提供了一套標
