文件上传中关于MultipartResolver的配置
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的配置相关推荐
- SpringBoot:MultipartResolver 文件上传、大小限制相关配置、实现原理与自定义
基于 SpringBoot 2.3.2.RELEASE Spring-web 5.2.8.RELEASE 问题 做上传下载文件时,SpringBoot获取的文件是MultipartFile,不想把文件 ...
- SpringMVC中文件上传中 servletFileUpload解析为空
SpringMVC中servletFileUpload解析 记录下bug,在网上看了很多都没能,现在已解决,希望对同样遇到此问题的的人一个帮助. 以下代码中SpringMVC中servletFileU ...
- struts2文件上传中,如何限制上传的文件类型
来源:http://www.blogjava.net/landor2004/archive/2009/06/11/281416.html 这个在struts2的doc中已经有所说明,但是说得并不详细, ...
- [总结]jsp完成文件上传中遇到的“法克”路径解决办法
在web工程中完成文件上传,需要在jsp页面上写上如下一个控件: <input type="file" id="f" name="f" ...
- 文件上传中的临时上传路径问题
在用multipart上传文件的时候,报错: java.io.IOException: The temporary upload location [D:\apache-tomcat-8.0.9\wo ...
- fastadmin文件上传ucloud云插件安装配置
项目中如果有大量的文件需要被上传,为避免文件堆积,可以把上传的文件放到云端上面存储,fastadmin后台有一个自带开发插件管理,云存储-->ucloud上传,是免费的,已经能满足大多数项目的文 ...
- 文件上传 服务器不响应headr,php 文件上传中服务器接收到$_FILES[xxx]['type'] 中的 type 原来是从 http header 里读取的,所以非常不可信...
$type = $_FILES[$filename]['type']; if ($type != "image/jpeg" && $type != "im ...
- (转)SpringMVC学习(九)——SpringMVC中实现文件上传
http://blog.csdn.net/yerenyuan_pku/article/details/72511975 这一篇博文主要来总结下SpringMVC中实现文件上传的步骤.但这里我只讲单个文 ...
- php大文件上传php.ini配置
来源:http://xuqin.blog.51cto.com/5183168/909258 http://wenku.baidu.com/view/daa108687e21af45b307a8e3.h ...
最新文章
- 如何使用 Python 或 Bash动态生成 Jekyll 配置文件
- 自己动手写C语言编译器(1)
- jqury-zoom的一个例子
- .Net Core中使用RabbitMQ
- 天津科技大学计算机网络,计算机网络PPT(天津科技大学讲稿-张强)第一章英文对照...
- java 内部类定于_搞懂 JAVA 内部类
- 完全备份、差异备份以及增量备份的区别
- proteus信号峰值检测仪仿真
- Acwing算法提高课—搜索
- 计算机远程控制阀门开启,阀门远程控制系统
- html想实现文字环绕图片,HTML/CSS实现文字环绕图片布局
- 【操作系统】概念、功能、特征、分类、运行机制、内核、体系结构、中断和异常、系统调用简介
- 【hadoop权威指南第四版】第五章MR应用【笔记+代码】
- bilibili学习
- Typora一款让你无法拒绝的MarkDown编辑器
- RSSI,RSRP,RSRQ and SINR
- Java scanner输入多个数字其总和和平均数,每输入一个canner输入多个数字其总和和平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出结果
- 22-2-21 ETH币价今日价格分析
- Trinity的介绍与下载
- 更简单获取到Bean对象(1)