spring-boot-route 实现多文件上传
2021-03-01 16:30
标签:pre 指定 异常 推荐 art conf nts slf4j 方便 Spring Boot默认上传的单个文件大小 单个文件上传使用MultipartFile参数来接收文件,多文件使用MultipartFile[]数组来接收,然后遍历它,当成单文件来处理。 问题一:如何配置上传文件大小限制? 思考:SpringBoot项目推荐使用jar包的方式来运行项目,而实际应用中我们也发现jar包运行项目更加方便。但是当打完jar包后,这个jar的大小就固定好了,上传的文件肯定传不到jar包里面了。SpringBoot提供了一种方式,将文件上传到服务器物理路径下,然后做个映射关系,让图片可以正常被访问,具体操作如下: addResourceHandler("/static/**")表示访问路径为/static/文件名,addResourceLocations("file:"+"D://uploadfile/")表示文件存储的物理路径,"file:"为固定写法。 SpringBoot静态资源默认路径为: 注:classpath 指的是 SpringBoot项目resources 如果想自定义静态资源路径有两种方式, application.yml中指定 代码实现WebMvcConfigurer 注:当配置了自定义静态资源路径后,其默认配置将失效 在静态资源路径下,新建file.html文件,浏览器访问ip:port/file.html,进入file页面 这里需要注意的是文件上传表单的enctype为multipart/form-data。 spring-boot-route 实现多文件上传 标签:pre 指定 异常 推荐 art conf nts slf4j 方便 原文地址:https://www.cnblogs.com/bao-bei/p/13784150.html1MB
,一次上传的总文件大小为10MB
。@Configuration
public class FileConfig implements WebMvcConfigurer {
@Bean
public MultipartConfigElement multipartConfigElement(){
MultipartConfigFactory factory = new MultipartConfigFactory();
// 单个文件大小
factory.setMaxFileSize(DataSize.parse("10240MB"));
// 上传的总文件大小
factory.setMaxRequestSize(DataSize.parse("20480MB"));
return factory.createMultipartConfig();
}
}
@Configuration
public class FileConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/static/**").addResourceLocations("file:"+"D://uploadfile/");
}
}
文件上传后台实现
@RestController
@Slf4j
public class FileUpload {
@PostMapping("uploadFile")
public List uploadFile(@RequestParam("files") MultipartFile[] files) {
// 存储上传成功的文件名,响应给客户端
List
静态资源问题
classpath:/META-INF/resources/
,classpath:/resources/
,classpath:/static/
,classpath:/public/
。也就是说如果想访问静态资源,则需要将静态资源 文件放在这四个路径下面。
spring:
resources:
static-locations: classpath:/templates/
@Configuration
public class FileConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations("classpath:/templates/");
}
文件上传前端实现