Spring MVC如何处理多部分/格式

  介绍

这篇文章给大家分享的是有关Spring MVC如何处理多部分/格式的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

<强>多部分/格式

多部分/格式为表单的MIME编码属性之一,共有三个值

①应用程序/x-www-form-urlencoded

②多部分/格式

③文本/平原

①为Html表单默认传输编码类型

②是表单上传的非文本的内容,传递的是文件数据,设置该属性再配合后请求方式从而实现文件上传

③是传输为纯文本的意思,在发邮件时要设置这种编码,拿文本/纯和文本/Html做比较,前者用来传输纯文本文件,后者则是传递Html代码的编码类型,在发送头文件时才用得上

上述所提到的MIME,它的英文全称是“Multipurpose Internet Mail Extensions"多功能网络邮件扩充服务,它是一种多用途网际邮件扩充协议。通过MIME,浏览器的再请求,会告诉服务器接收的数据是什么类型。

<>强Spring MVC处理多部分/格式

两种实现方式:

1, CommonsMultipartResolver,:,依赖于Apache

2, StandardServletMultipartResolver,:,依赖于Servlet 3.0, SpringBoot默认支持该方式

一、配置解析器

1, CommonsMultipartResolver的配置

弊端:无法设置请求整体的最大容量

(1)声明Bean和配置上传参数:

& lt; Bean id=癿ultipartResolver"   类=皁rg.springframework.web.multipart.commons.CommonsMultipartResolver"比;   & lt;属性名=皍ploadTempDir"值=https://www.yisu.com/zixun/"/temp "/>   <属性名=" maxUploadSize " value=" 2097152 "/>   <属性名=" maxInMemorySize " value=" 0 "/>·   

2, StandardServletMultipartResolver的配置

(1)声明bean:

& lt; bean id=癿ultipartResolver"   类=皁rg.springframework.web.multipart.support.StandardServletMultipartResolver”在 @ bean (name=癿ultipartResolver")   公共StandardServletMultipartResolver getStandardServletMultipartResolver () {   返回新StandardServletMultipartResolver ();   }

(2)配置上传参数

web。xml配置

& lt; servlet>   & lt; servlet-name> dispatcherServlet   & lt; servlet-class> org.springframework.web.servlet.DispatcherServlet   & lt; init-param>   & lt; param-name> contextConfigLocation   & lt; param-value>类路径:applicationContext.xml   & lt;/init-param>   & lt; load-on-startup> 1 & lt;/load-on-startup>   & lt; multipart-config>   & lt; !——上传到/temp目录——比;   & lt; location>/temp/upload   & lt; !——文件大小为2 m——比;   & lt; max-file-size> 2097152 & lt;/max-file-size>   & lt; !——整个请求不超过4 m——比;   & lt; max-request-size> 4194304 & lt;/max-request-size>   & lt; !——大于0 m的所有文件都要写入磁盘——比;   & lt; file-size-threshold> 0 & lt;/file-size-threshold>   & lt;/multipart-config>   & lt;/servlet>   & lt; servlet-mapping>   & lt; servlet-name> dispatcherServlet   & lt; url-pattern>/& lt;/url-pattern>   & lt;/servlet-mapping>

配置类中配置

& lt;形式action=?save"方法=皃ost"enctype=岸嗖糠?form-data"比;   & lt;输入类型=癴ile"name=皃ic"比;   & lt;输入类型=皊ubmit"祝辞   & lt;/form>

<强>二,Spring MVC处理

1,表单:

 & lt;形式“/save"方法=皃ost"enctype=岸嗖糠?form-data"比;
  & lt;输入类型=癴ile"name=皃ic"比;
  & lt;输入类型=皊ubmit"祝辞
  & lt;/form> 

2, MVC接收:

@RequestMapping (value=https://www.yisu.com/zixun/"/保存”,方法=RequestMethod.POST)   公共字符串getHome (MultipartFile图片)抛出IOException {   Files.copy (pic.getInputStream (), Paths.get (ServletContext.getRealPath (/temp) pic.getOriginalFilename));   返回null;   }

感谢各位的阅读!关于Spring MVC如何处理多部分/格式就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

Spring MVC如何处理多部分/格式