Dieser Artikel bietet Ihnen eine Einführung in die Methode zur Verarbeitung von Multipart-/Formulardaten (Codebeispiele). Ich hoffe, dass er für Sie hilfreich ist . .
Multipart/form-data
Multipart/form-data ist eines der MIME-Kodierungsattribute des Formulars mit insgesamt drei Werten
① application/ x-www-form-urlencoded
② multipart/form-data
③ text/plain
① ist der Standardübertragungskodierungstyp für HTML Formulare
② Es handelt sich um den vom Formular hochgeladenen Nicht-Text-Inhalt, und es werden Dateidaten übergeben. Legen Sie dieses Attribut fest und arbeiten Sie mit der Post-Request-Methode zusammen, um den Datei-Upload zu erreichen
③Das bedeutet Beim Versenden von E-Mails sollte die Codierung „Text/Plain“ und „Text/HTML“ eingestellt werden. Erstere wird für die Übertragung von Nur-Text-Dateien verwendet, während letztere nur für die Übertragung von HTML-Codes verwendet wird beim Senden von Header-Dateien
Das oben erwähnte MIME, sein vollständiger englischer Name ist „Multipurpose Internet Mail Extensions“. Multipurpose Internet Mail Extensions Service, es ist ein Mehrzweck-Internet-Mail-Extensions-Protokoll. Über MIME teilt die erneute Anfrage des Browsers dem Server mit, welche Art von Daten empfangen wird
Spring MVC verarbeitet Multipart-/Formulardaten
Zwei Implementierungsmethoden:
1. CommonsMultipartResolver: Abhängig von Apache
2. StandardServletMultipartResolver: Abhängig von Servlet 3.0, SpringBoot unterstützt diese Methode standardmäßig
1
1. Konfiguration von CommonsMultipartResolver Nachteile: Die maximale Kapazität der gesamten Anfrage kann nicht festgelegt werden (1) Bean deklarieren und Upload-Parameter konfigurieren:<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>
<bean id="multipartResolver" class="org.springframework.web.multipart.support.StandardServletMultipartResolver”>
@Bean(name = "multipartResolver") public StandardServletMultipartResolver getStandardServletMultipartResolver(){ return new StandardServletMultipartResolver(); }
<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>
2. Spring MVC-Verarbeitung
1Das obige ist der detaillierte Inhalt vonEinführung in die Methode von Spring MVC zur Verarbeitung von Multipart-/Formulardaten (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!