这篇文章给大家分享的是有关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如何处理多部分/格式就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!