ASP.NET Web API에서 파일 업로드 처리
ASP.NET Web API에는 파일 업로드를 처리하기 위한 기존 ASP.NET MVC 방법과 다른 특정 접근 방식이 필요합니다. HttpPostedFile
매개변수는 직접적으로 호환되지 않습니다. 솔루션에는 멀티파트 콘텐츠를 활용하는 것이 포함됩니다.
멀티파트 콘텐츠: 파일 업로드의 핵심
웹 API 파일 업로드에는 멀티파트 콘텐츠가 중요합니다. 단일 HTTP 요청 내에서 텍스트와 파일 데이터를 효율적으로 결합합니다.
파일 업로드를 위한 컨트롤러 작업 구축
Task<IHttpActionResult>
을 사용하는 컨트롤러 작업은 비동기 파일 처리에 이상적입니다. 예는 다음과 같습니다.
<code class="language-csharp">[HttpPost("api/upload")] public async Task<IHttpActionResult> Upload() { if (!Request.Content.IsMimeMultipartContent()) throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); var provider = new MultipartMemoryStreamProvider(); await Request.Content.ReadAsMultipartAsync(provider); foreach (var file in provider.Contents) { var filename = file.Headers.ContentDisposition.FileName.Trim('\"'); var buffer = await file.ReadAsByteArrayAsync(); // File processing logic here (e.g., save to disk, database, etc.) } return Ok(); }</code>
코드 설명:
IsMimeMultipartContent()
: 요청의 멀티파트 콘텐츠 유형을 확인합니다.MultipartMemoryStreamProvider
: 메모리의 멀티파트 데이터를 관리합니다.ReadAsMultipartAsync()
: 멀티파트 데이터를 개별 구성 요소로 구문 분석합니다.Ok()
: 성공적인 HTTP 응답을 반환합니다.결론:
이 접근 방식은 ASP.NET Web API에서 파일 업로드를 처리하기 위한 안정적인 방법을 제공합니다. 멀티파트 콘텐츠와 MultipartMemoryStreamProvider
을 사용하면 Web API 서비스 내에서 효율적이고 강력한 파일 업로드 처리가 보장됩니다.
위 내용은 ASP.NET MVC 웹 API에서 파일 POST를 수락하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!