欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot中的multipartResolver上傳文件配置

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

multipartResolver上傳文件配置

1、gradle配置

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

2、注冊(cè)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上傳文件的時(shí)候,我們會(huì)用到MultipartResolver。我看通過(guò)源碼可以看到

@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配置類,默認(rèn)加載的是StandardServletMultipartResolver。

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

解決方案

1、使用SpringBoot 默認(rèn)的StandardServletMultipartResolver,不依賴commons-fileupload。

2、使用commons-fileupload的CommonsMultipartResolver,

排除默認(rèn)

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

自定義文件解析對(duì)象

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

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

相關(guān)文章

  • Spring中多配置文件及引用其他bean的方式

    Spring中多配置文件及引用其他bean的方式

    本文給大家介紹spring中多配置文件及引用其他bean的方式,涉及到spring配置文件的相關(guān)知識(shí),感興趣的朋友一起學(xué)習(xí)吧
    2016-03-03
  • 如何自定義feign調(diào)用實(shí)現(xiàn)hystrix超時(shí)、異常熔斷

    如何自定義feign調(diào)用實(shí)現(xiàn)hystrix超時(shí)、異常熔斷

    這篇文章主要介紹了自定義feign調(diào)用實(shí)現(xiàn)hystrix超時(shí)、異常熔斷的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Spring Security常用過(guò)濾器實(shí)例解析

    Spring Security常用過(guò)濾器實(shí)例解析

    這篇文章主要介紹了Spring Security常用過(guò)濾器實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 使用springboot整合mybatis-plus實(shí)現(xiàn)數(shù)據(jù)庫(kù)的增刪查改示例

    使用springboot整合mybatis-plus實(shí)現(xiàn)數(shù)據(jù)庫(kù)的增刪查改示例

    這篇文章主要介紹了使用springboot整合mybatis-plus實(shí)現(xiàn)數(shù)據(jù)庫(kù)的增刪查改示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Java開發(fā)實(shí)例之圖書管理系統(tǒng)的實(shí)現(xiàn)

    Java開發(fā)實(shí)例之圖書管理系統(tǒng)的實(shí)現(xiàn)

    圖書管理的功能大體包括:增加書籍、借閱書籍、刪除書籍、查看書籍列表、退出系統(tǒng)、查找書籍、返還書籍這些,本文主要給大家介紹該系統(tǒng)的數(shù)據(jù)庫(kù)語(yǔ)句,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-10-10
  • 在Java中操作Zookeeper的示例代碼詳解

    在Java中操作Zookeeper的示例代碼詳解

    這篇文章主要介紹了在Java中操作Zookeeper的示例代碼詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Java中Spring的Security使用詳解

    Java中Spring的Security使用詳解

    這篇文章主要介紹了Java中Spring的Security使用詳解,在web應(yīng)用開發(fā)中,安全無(wú)疑是十分重要的,選擇Spring Security來(lái)保護(hù)web應(yīng)用是一個(gè)非常好的選擇,需要的朋友可以參考下
    2023-07-07
  • java去除if...else的七種方法總結(jié)

    java去除if...else的七種方法總結(jié)

    相信小伙伴一定看過(guò)多篇怎么去掉?if...else?的文章,也知道大家都很有心得,知道多種方法來(lái)去掉?if...else?,本文為大家整理了7個(gè)常用的方法,希望對(duì)大家有所幫助
    2023-11-11
  • 用StopWatch優(yōu)雅替代currentTimeMillis計(jì)算程序執(zhí)行耗時(shí)

    用StopWatch優(yōu)雅替代currentTimeMillis計(jì)算程序執(zhí)行耗時(shí)

    別再用System.currentTimeMillis()計(jì)算程序執(zhí)行耗時(shí)了,擁抱StopWatch優(yōu)雅來(lái)優(yōu)雅的計(jì)算,代碼更簡(jiǎn)潔效率更高,本文帶你了解StopWatch的使用
    2021-09-09
  • Springboot集成ClickHouse及應(yīng)用場(chǎng)景分析

    Springboot集成ClickHouse及應(yīng)用場(chǎng)景分析

    這篇文章主要介紹了Springboot集成ClickHouse的實(shí)例代碼,本文通過(guò)應(yīng)用場(chǎng)景實(shí)例代碼介紹了整合springboot的詳細(xì)過(guò)程,感興趣的朋友跟隨小編一起看看吧
    2022-02-02

最新評(píng)論