■ Kestrel 사용시, 업로드 파일 크기 제한을 설정하는 방법을 보여준다.
1. 액션 레벨에서 설정하기
▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 |
[HttpPost] [RequestFormLimits(MultipartBodyLengthLimit = 2147483648)] [RequestSizeLimit(2147483648)] public IActionResult Upload(IFormFile formFile) { ... } |
2. 애플리케이션 레벨에서 설정하기
2.1 Program.cs 파일에서 아래 코드를 추가한다.
▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#region 호스트 빌더 생성하기 - CreateHostBuilder(argumentList) /// <summary> /// 호스트 빌더 생성하기 /// </summary> /// <param name="argumentList">인자 리스트</param> /// <returns>호스트 빌더</returns> public static IHostBuilder CreateHostBuilder(string[] argumentList) => Host.CreateDefaultBuilder(argumentList) .ConfigureWebHostDefaults ( webBuilder => { webBuilder.UseStartup<Startup>(); webBuilder.UseKestrel ( options => { options.Limits.MaxRequestBodySize = 2147483648; } ); } ); #endregion |
2.2 Startup.cs 파일에서 아래 코드를 추가한다.
▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#region 서비스 컬렉션 구성하기 - ConfigureServices(serviceCollection) /// <summary> /// 서비스 컬렉션 구성하기 /// </summary> /// <param name="serviceCollection">서비스 컬렉션</param> public void ConfigureServices(IServiceCollection serviceCollection) { serviceCollection.AddControllers(); serviceCollection.AddSwaggerGen ( options => { options.SwaggerDoc("v1", new OpenApiInfo { Title = "TestServer", Version = "v1" }); } ); serviceCollection.Configure<FormOptions> ( options => { options.MultipartBodyLengthLimit = 2147483648; } ); } #endregion |