最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot中的multipartResolver上傳文件配置

 更新時間:2021年10月26日 09:32:55   作者:閆-先生  
這篇文章主要介紹了SpringBoot中的multipartResolver上傳文件配置,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

multipartResolver上傳文件配置

1、gradle配置

    compile ('commons-io:commons-io:1.4')
    compile('commons-fileupload:commons-fileupload:1.2.1')

2、注冊Bean

    @Bean(name = "multipartResolver")
    public MultipartResolver multipartResolver(){
        CommonsMultipartResolver resolver = new CommonsMultipartResolver();
        resolver.setDefaultEncoding("UTF-8");
        //resolveLazily屬性啟用是為了推遲文件解析,以在在UploadAction中捕獲文件大小異常
        resolver.setResolveLazily(true);
        resolver.setMaxInMemorySize(40960);
        //上傳文件大小 50M 50*1024*1024
        resolver.setMaxUploadSize(50*1024*1024);
        return resolver;
    }

SpringBoot MultipartResolver的坑

在使用springBoot上傳文件的時候,我們會用到MultipartResolver。我看通過源碼可以看到

@Configuration
@ConditionalOnClass({ Servlet.class, StandardServletMultipartResolver.class,
  MultipartConfigElement.class })
@ConditionalOnProperty(prefix = "spring.http.multipart", name = "enabled", matchIfMissing = true)
@EnableConfigurationProperties(MultipartProperties.class)
public class MultipartAutoConfiguration {
 private final MultipartProperties multipartProperties;
 public MultipartAutoConfiguration(MultipartProperties multipartProperties) {
  this.multipartProperties = multipartProperties;
 }
 @Bean
 @ConditionalOnMissingBean({ MultipartConfigElement.class,
   CommonsMultipartResolver.class })
 public MultipartConfigElement multipartConfigElement() {
  return this.multipartProperties.createMultipartConfig();
 }
 @Bean(name = DispatcherServlet.MULTIPART_RESOLVER_BEAN_NAME)
 @ConditionalOnMissingBean(MultipartResolver.class)
 public StandardServletMultipartResolver multipartResolver() {
  StandardServletMultipartResolver multipartResolver = new StandardServletMultipartResolver();
  multipartResolver.setResolveLazily(this.multipartProperties.isResolveLazily());
  return multipartResolver;
 }

可以看出MultipartAutoConfiguration配置類,默認加載的是StandardServletMultipartResolver。

然而,我們往往會在項目中加入commons-fileupload依賴,加載的是CommonsMultipartResolver。此時同時使用兩個,會產(chǎn)生沖突。

解決方案

1、使用SpringBoot 默認的StandardServletMultipartResolver,不依賴commons-fileupload。

2、使用commons-fileupload的CommonsMultipartResolver,

排除默認

spring:
  autoconfigure:
    exclude: org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration

自定義文件解析對象

    @Bean(name = "multipartResolver")
    public MultipartResolver multipartResolver() {
        CommonsMultipartResolver resolver = new CommonsMultipartResolver();
        resolver.setDefaultEncoding("UTF-8");
        return resolver;
    }

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

赤水市| 特克斯县| 南开区| 时尚| 武功县| 札达县| 普定县| 江山市| 时尚| 永城市| 堆龙德庆县| 怀化市| 吴江市| 汝南县| 开远市| 康保县| 阳谷县| 枝江市| 万源市| 金阳县| 池州市| 遵化市| 贺兰县| 临汾市| 甘孜县| 黔江区| 松江区| 海伦市| 崇信县| 福泉市| 长汀县| 时尚| 于田县| 长岛县| 台北县| 平昌县| 东阳市| 兴义市| 大厂| 遂平县| 凤庆县|