본문 바로가기
.Net

.Net core - File Uplad Error 413.1 - Request Entity Too Large

by 올엠 2020. 11. 5.
반응형

파일 업로드 기능을 .Net Core로 구현한다면 가장 처음 봉착하는 에러이다.

 

먼저 .Net Core 답게 현재 구동하는 환경이 IIS Express인지 확인한다.

IIS Express로 되어 있다면, .Net core는 자체적으로 웹서비스를 구동할 수 있기 때문에 현재 생성한 프로젝트 명으로 Debug를 변경하고, 다시 테스트를 진행해보자.

 

이제 2가지 방법으로 이를 해결 할 수 있다.

 

1. Controller에 추가

특정 기능만 필요하다면 API Action에 아래 구문을 추가하면 해결 된다.

        [RequestFormLimits(ValueLengthLimit = int.MaxValue, MultipartBodyLengthLimit = int.MaxValue)]
        [DisableRequestSizeLimit]
        [Consumes("multipart/form-data")]
        [HttpPost]
        [ActionName("upload")]
        public async Task<IActionResult> PostAsync(IFormFile file, CancellationToken cancellationToken)

 

2. Global로 적용

전체적으로 적용하고 싶다면 Startup.cs에 아래 구문을 추가하자.

            services.Configure<FormOptions>(x =>
            {
                x.ValueLengthLimit = int.MaxValue;
                x.MultipartBodyLengthLimit = int.MaxValue;
                x.MultipartHeadersLengthLimit = int.MaxValue;
            });

IIS에서 구동해야 한다면...

web.config에 아래 구분을 추가하면 된다.

<system.webServer>
  <security>
    <requestFiltering>
      <requestLimits maxAllowedContentLength="2147483648" />
    </requestFiltering>
  </security>
</system.webServer>
반응형