반응형
파일 업로드 기능을 .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>
반응형
'.Net' 카테고리의 다른 글
.NET core 3.1 - File Download (0) | 2020.11.09 |
---|---|
.Net - Web application Ubuntu 배포하기 (0) | 2020.11.08 |
The underlying connection was closed – REST API call over HTTPS (0) | 2020.11.04 |
.Net for Apache Spark 1.0 공개 (0) | 2020.11.01 |
C# - DirectorySearcher search result more than 1000 (0) | 2020.11.01 |