.Net
.Net core - File Uplad Error 413.1 - Request Entity Too Large
올엠
2020. 11. 5. 22:19
반응형
파일 업로드 기능을 .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>
반응형