MultipartResolver配置

1.setMaxUploadSize
用于配置上传的文件的最大大小,例如:当设置值为5M时,则上传的文件均不可以超过5M,
即使一次性上传10个文件,则10个文件的大小总和不允许超过5M;

2.setMaxUploadSizePerFile
用于配置上传的每个文件的最大大,例如:当设置值为5M时,如果一次性上传10个文件,则每个文件都不允许
超过5M,但是总大小可以接近50M;

3.setDefaultEncoding
用于配置默认编码,上传的文件本身是不考虑编码问题的,只要文件的内容(表示文件内容信息含义的二进制序列
)是正确的就可以了!由于上传过程中,会通过‘CommonsMultipartResolver’去组织上传时表单中的数据,
表单中可能包括例如输入框等控件,则同一个表单中还可能提交例如用户名等文本信息,这些信息都需要
使用正确的编码来进行传递!

代码:

/*** @author: 李自强* @description: MultipartResolverConfig* @date: 2021/6/22 3:19 下午*/
@Configuration
public class MultipartResolverConfig {@Bean(name = "multipartResolver")public CommonsMultipartResolver getCommonsMultipartResolver() {CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();multipartResolver.setMaxUploadSize(2097152);//314572800multipartResolver.setMaxUploadSizePerFile(2097152);//104857600multipartResolver.setMaxInMemorySize(2048);return multipartResolver;}}

MultipartFile相关API

boolean isEmpty
该方法用于判断上传的文件是否为空,当用户没有选择需要上传的文件或选中的文件时空文件(0字节)
时,该方法返回"true",可用于验证

long getSize();
该方法用于获取文件的大小,以字节为单位,通常,用于限制上传文件的大小。

String getContentType()
该方法用于获取文件的MIME类型,通常,用于限制上传的文件的类型。

关于各种文件扩展名对应的MIME类型,可以上网查询,也可以在Tomcat目录中的"conf/web.xml"文件中查找。
MIME的值,完全取决于文件的扩展名,如果文件的扩展名被修改,MIME也可能发生变化。

String getOriginalFilename()
获取文件的原名,即该文件在客户端的文件全名,典型的用途就是获取文件的扩展名。

void transferTo(File dest)
执行保存所上传的文件。

InputStream getInputStream()
获取输入字节流,用于自定义接收所上传的文件。
注意:该方法与以上"transferTo"不可以同时使用,对于每个请求,只能选取其中1个方法来获取数据并保存文件。

public CustomRestResult<Object> updateAvatar(MultipartFile avatar, @CurrentUser JwtUser jwtUser) {CommonsMultipartFile commonsMultipartFile = (CommonsMultipartFile) avatar;DiskFileItem diskFileItem = (DiskFileItem) commonsMultipartFile.getFileItem();File fileFinal = diskFileItem.getStoreLocation();log.info(">>>{},{}",fileFinal.getName(),fileFinal.getPath());
}

文件上传中关于MultipartResolver的配置相关推荐

  1. SpringBoot:MultipartResolver 文件上传、大小限制相关配置、实现原理与自定义

    基于 SpringBoot 2.3.2.RELEASE Spring-web 5.2.8.RELEASE 问题 做上传下载文件时,SpringBoot获取的文件是MultipartFile,不想把文件 ...

  2. SpringMVC中文件上传中 servletFileUpload解析为空

    SpringMVC中servletFileUpload解析 记录下bug,在网上看了很多都没能,现在已解决,希望对同样遇到此问题的的人一个帮助. 以下代码中SpringMVC中servletFileU ...

  3. struts2文件上传中,如何限制上传的文件类型

    来源:http://www.blogjava.net/landor2004/archive/2009/06/11/281416.html 这个在struts2的doc中已经有所说明,但是说得并不详细, ...

  4. [总结]jsp完成文件上传中遇到的“法克”路径解决办法

    在web工程中完成文件上传,需要在jsp页面上写上如下一个控件: <input type="file" id="f" name="f" ...

  5. 文件上传中的临时上传路径问题

    在用multipart上传文件的时候,报错: java.io.IOException: The temporary upload location [D:\apache-tomcat-8.0.9\wo ...

  6. fastadmin文件上传ucloud云插件安装配置

    项目中如果有大量的文件需要被上传,为避免文件堆积,可以把上传的文件放到云端上面存储,fastadmin后台有一个自带开发插件管理,云存储-->ucloud上传,是免费的,已经能满足大多数项目的文 ...

  7. 文件上传 服务器不响应headr,php 文件上传中服务器接收到$_FILES[xxx]['type'] 中的 type 原来是从 http header 里读取的,所以非常不可信...

    $type = $_FILES[$filename]['type']; if ($type != "image/jpeg" && $type != "im ...

  8. (转)SpringMVC学习(九)——SpringMVC中实现文件上传

    http://blog.csdn.net/yerenyuan_pku/article/details/72511975 这一篇博文主要来总结下SpringMVC中实现文件上传的步骤.但这里我只讲单个文 ...

  9. php大文件上传php.ini配置

    来源:http://xuqin.blog.51cto.com/5183168/909258 http://wenku.baidu.com/view/daa108687e21af45b307a8e3.h ...

最新文章

  1. 如何使用 Python 或 Bash动态生成 Jekyll 配置文件
  2. 自己动手写C语言编译器(1)
  3. jqury-zoom的一个例子
  4. .Net Core中使用RabbitMQ
  5. 天津科技大学计算机网络,计算机网络PPT(天津科技大学讲稿-张强)第一章英文对照...
  6. java 内部类定于_搞懂 JAVA 内部类
  7. 完全备份、差异备份以及增量备份的区别
  8. proteus信号峰值检测仪仿真
  9. Acwing算法提高课—搜索
  10. 计算机远程控制阀门开启,阀门远程控制系统
  11. html想实现文字环绕图片,HTML/CSS实现文字环绕图片布局
  12. 【操作系统】概念、功能、特征、分类、运行机制、内核、体系结构、中断和异常、系统调用简介
  13. 【hadoop权威指南第四版】第五章MR应用【笔记+代码】
  14. bilibili学习
  15. Typora一款让你无法拒绝的MarkDown编辑器
  16. RSSI,RSRP,RSRQ and SINR
  17. Java scanner输入多个数字其总和和平均数,每输入一个canner输入多个数字其总和和平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出结果
  18. 22-2-21 ETH币价今日价格分析
  19. Trinity的介绍与下载
  20. 更简单获取到Bean对象(1)

热门文章

  1. linux0.11内核完全剖析 - ll_rw_blk.c
  2. STM32实战六 PWM加移相正交
  3. 戴尔准备通过收购扩大其云计算业务
  4. 「CG原画插画教程」初学者如何练习人体动态结构?
  5. 做软件测试工程师如何突破月薪20k?
  6. NodeJS结束进程
  7. STM32F103驱动超声波HC-SR04
  8. JavaScript的数组练习
  9. 科大讯飞离线命令词识别
  10. kubelet垃圾回收配置