Ce que cet article vous apporte est une introduction à la méthode de traitement des données Multipart/form de Spring MVC (exemples de code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. .
Multipart/form-data
Multipart/form-data est l'un des attributs d'encodage MIME du formulaire, avec un total de trois valeurs
① application/ x-www-form-urlencoded
② multipart/form-data
③ text/plain
① est le type d'encodage de transmission par défaut pour Html formulaires
② Il s'agit du contenu non textuel téléchargé par le formulaire, et ce qui est transmis, ce sont les données du fichier. Définissez cet attribut et coopérez avec la méthode de demande de publication pour réaliser le téléchargement du fichier
③Cela signifie. le transmettre sous forme de texte brut. Ceci doit être défini lors de l'envoi d'e-mails. Encodage, comparez text/plain et text/html. Le premier est utilisé pour transmettre des fichiers en texte brut, tandis que le second est le type d'encodage pour la transmission de codes HTML. lors de l'envoi de fichiers d'en-tête
Le MIME mentionné ci-dessus, son nom complet en anglais est "MultiPurpose Internet Mail Extensions". Service d'extensions de messagerie Internet polyvalent, il s'agit d'un protocole d'extensions de messagerie Internet polyvalent. Grâce à MIME, la nouvelle demande du navigateur indiquera au serveur quel type de données est reçu
Spring MVC gère Multipart/form-data
Deux méthodes d'implémentation :
1. CommonsMultipartResolver : Dépend d'Apache
2 StandardServletMultipartResolver : Dépend de Servlet 3.0, SpringBoot prend en charge cette méthode par défaut
1.
1. Configuration de CommonsMultipartResolver Inconvénients : Impossible de définir la capacité maximale de l'ensemble de la requête (1) Déclarez le Bean et configurez les paramètres de téléchargement :<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. Traitement Spring MVC
1. Formulaire :<form action="/save" method="post" enctype="multipart/form-data"> <input type="file" name="pic"> <input type="submit"> </form>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!