Spring MVC-09循序渐进之文件上传(基于Servlet3.0+内置功能)

网友投稿 730 2022-05-29

概述

测试

源码

概述

Spring MVC-09循序渐进之文件上传(基于Apache Commons FileUpload)

上篇博文我们说了基于Apache Commons FileUpload的文件上传,这里我们了解下基于Servlet3.0及其以上版本内置的上传功能。

在Servlet3.0及其以上的版本容器中进行服务端文件上传的编程,是围绕着标注类型MultipartConfig和javax.servlet.http.Part接口进行的。 处理已上传文件的Servlet必须标注@MultipartFile

属性如下

maxFileSize ,上传文件的最大容量,默认-1,表示不限制

maxRequestSize,HTTP请求允许的最大容量,默认-1,表示不限制

location 表示Part调用write方法时,上传的文件保存的位置

fileSizeThreshold 上传文件超出这个容量界限时,会被写入磁盘

Spring MVC 的DispatcherServlet处理大部分或者部分请求,但是如果不修改源码,将无法对Servle进行标注,值得庆幸的是,Servlet3中有一种比较容易的方法,能够使Servlet变成一个MultipartConfig Servlet,即给部署描述文件(web.xml)中的Servlet声明赋值。

下面的代码与用@MultipartConfig给DispatcherServlet进行标注的效果是一样的

springmvc org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/config/springmvc-config.xml 1 20848820 418018841 1048576 springmvc / characterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true characterEncodingFilter /*

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

此外,还需要再Spring MVC配置文件中使用一个不同的解析器

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

Spring MVC-09循序渐进之文件上传(基于Servlet3.0+内置功能)

27

28

29

30

31

32

33

34

35

36

37

38

39

其余代码同

Spring MVC-09循序渐进之文件上传(基于Apache Commons FileUpload)

测试

源码

代码已提交到github

https://github.com/yangshangwei/SpringMvcTutorialArtisan

MVC Servlet Spring

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【Unity3D日常开发】(二)实现角色移动行走之Transform、Rigidbody、CharacterController
下一篇:RDB 方式与 AOF 方式的优势对比
相关文章