SpringBoot:アップロードファイルサイズの制限を変更する


SpringBoot:アップロードファイルサイズの制限を変更する
Spring Bootのデフォルトのファイルのアップロードサイズは2 Mで、複数のドキュメントをアップロードすると、大きなドキュメントがアップロードされると、いつもファイルのサイズが限度を超えるという問題が発生します.解決方法は以下の通りです.
方法一、appication.propertiesに配置項目を追加する
# Single file max size         
multipart.maxFileSize=50Mb
# All files max size               
multipart.maxRequestSize=50Mb
方法二、スタートクラスに配置ビーンを追加する
import javax.servlet.MultipartConfigElement;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


@Configuration
@SpringBootApplication
public class App 
{
    public static void main( String[] args ) {
        SpringApplication.run(App.class, args);
    }
    
    /**  
     *         
     * @return  
     */  
    @Bean  
    public MultipartConfigElement multipartConfigElement() {  
        MultipartConfigFactory factory = new MultipartConfigFactory();  
        //        
        factory.setMaxFileSize("20480KB");   
        ///             
        factory.setMaxRequestSize("204800KB");  
        
        return factory.createMultipartConfig();  
    }  
}
上記の2つの方法では、大きい時間、Long、Kb、MBを設定しても良いです.MultiiprtConfigFactory類における変換規則は以下の通りである.
  private long parseSize(String size) {
        Assert.hasLength(size, "Size must not be empty");
        
        size = size.toUpperCase();
        return size.endsWith("KB")?Long.valueOf(size.substring(0, size.length() - 2)).longValue() * 1024L:(size.endsWith("MB")?Long.valueOf(size.substring(0, size.length() - 2)).longValue() * 1024L * 1024L:Long.valueOf(size).longValue());
    }
なお、上記の設定はバックグラウンドのみであり、具体的な項目ではフロントエンドに対応する設定が必要となる場合があります.