|
|
// 定义包路径,用于存放文件上传配置类相关的代码。这个包名表明该类属于特定的项目模块(com.yf.exam)下的config部分,
|
|
|
// 通常用于组织和管理与文件上传配置相关的代码。
|
|
|
package com.yf.exam.config;
|
|
|
|
|
|
// 导入Spring Boot中用于创建和配置多部分(Multipart)上传相关设置的工厂类。
|
|
|
// 通过这个工厂类可以方便地设置如单个文件大小限制、总上传数据大小限制等参数,
|
|
|
// 在本类中用于创建和配置文件上传的相关限制。
|
|
|
import org.springframework.boot.web.servlet.MultipartConfigFactory;
|
|
|
|
|
|
// 导入Spring框架中用于标记一个方法返回值为Spring Bean的注解。
|
|
|
// 被该注解标记的方法,其返回值会被Spring容器管理,作为一个可被注入到其他组件中的Bean实例。
|
|
|
// 在本类中用于将multipartConfigElement方法返回的MultipartConfigElement对象注册为Spring Bean。
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
|
|
|
// 导入Spring框架中用于标记一个类是配置类的注解。
|
|
|
// 被该注解标记的类可以在其中定义各种Bean配置方法,这些方法会被Spring容器在启动时自动识别并执行,
|
|
|
// 用于创建和配置应用程序所需的各种组件。在本类中用于标记该类为Spring配置类,以便进行文件上传相关的配置。
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
|
|
// 导入Spring框架中用于处理数据大小单位转换和表示的工具类。
|
|
|
// 它可以方便地将不同单位的数据大小表示转换为统一的格式,
|
|
|
// 在本类中用于设置文件上传的单个文件大小和总上传数据大小的限制,以兆字节(MB)为单位进行设置。
|
|
|
import org.springframework.util.unit.DataSize;
|
|
|
|
|
|
// 导入Java标准库中的用于表示多部分(Multipart)上传配置元素的接口。
|
|
|
// 这个接口定义了多部分上传相关的配置参数,如文件大小限制、请求大小限制等,
|
|
|
// 在本类中通过MultipartConfigFactory创建并返回实现了该接口的对象,以完成文件上传的配置设置。
|
|
|
import javax.servlet.MultipartConfigElement;
|
|
|
|
|
|
/**
|
|
|
* 文件上传配置类,主要功能是配置文件上传过程中的相关参数,
|
|
|
// 包括单个文件的最大允许大小以及整个上传请求的最大允许数据大小等。
|
|
|
*
|
|
|
* @author bool
|
|
|
* @date 2019-07-29 16:23
|
|
|
*/
|
|
|
@Configuration // 使用该注解标记此为Spring配置类,表明这个类是用来进行Spring应用程序的配置工作的。
|
|
|
public class MultipartConfig {
|
|
|
|
|
|
/**
|
|
|
* 定义一个方法,并使用@Bean注解将其返回值声明为Spring Bean。
|
|
|
* 该方法用于创建并返回一个MultipartConfigElement对象,这个对象包含了文件上传的具体配置参数。
|
|
|
*
|
|
|
* @return 返回一个MultipartConfigElement对象,其中设置了单个文件大小和总上传数据大小的限制等配置信息。
|
|
|
*/
|
|
|
@Bean
|
|
|
public MultipartConfigElement multipartConfigElement() {
|
|
|
MultipartConfigFactory factory = new MultipartConfigFactory(); // 创建一个MultipartConfigFactory对象,
|
|
|
// 它是用于创建MultipartConfigElement对象的工厂类,
|
|
|
// 通过它可以方便地设置各种文件上传的配置参数。
|
|
|
|
|
|
// 设置单个文件的最大允许大小。
|
|
|
// 这里使用DataSize.ofMegabytes(5000L)将大小设置为5000兆字节(MB),
|
|
|
// 即限制单个上传的文件大小不能超过5000MB。
|
|
|
factory.setMaxFileSize(DataSize.ofMegabytes(5000L));
|
|
|
|
|
|
// 设置整个上传请求的最大允许数据大小。
|
|
|
// 同样使用DataSize.ofMegabytes(5000L)将大小设置为5000兆字节(MB),
|
|
|
// 也就是说,整个上传请求(包括可能上传的多个文件以及其他相关数据)的总数据量不能超过5000MB。
|
|
|
factory.setMaxRequestSize(DataSize.ofMegabytes(5000L));
|
|
|
|
|
|
// 通过MultipartConfigFactory对象的createMultipartConfig方法创建并返回一个MultipartConfigElement对象,
|
|
|
// 这个对象包含了我们刚刚设置的单个文件大小和总上传数据大小等配置信息,
|
|
|
// 它会被Spring容器管理并应用到文件上传的相关处理中。
|
|
|
return factory.createMultipartConfig();
|
|
|
}
|
|
|
} |