HttpClient를 사용하여 ASP.NET Web API에서 파일 업로드 처리
파일 업로드 처리는 ASP.NET Web API를 사용하여 RESTful 서비스를 개발할 때 일반적인 요구 사항입니다. 이 문서에서는 웹 API 프레임워크를 사용하여 클라이언트 애플리케이션이 게시한 이미지나 파일을 받는 방법을 살펴봅니다.
원본 코드는 HttpPostedFile
매개변수를 사용합니다. 이 접근 방식을 사용하려면 업로드된 파일을 저장할 서버의 물리적 위치가 필요합니다. 그러나 이 문서에서는 파일 시스템에 쓰지 않고 모든 것을 메모리에 유지하는 대안을 설명합니다.
업데이트된 코드는 MultipartMemoryStreamProvider
을 사용하여 POST 요청에 대한 다중 부분 양식 데이터를 읽습니다. 파일 내용을 반복하여 파일 이름과 해당 바이너리 데이터에 액세스합니다. 이 접근 방식을 사용하면 파일 시스템 저장소 없이 업로드된 파일을 처리할 수 있습니다.
수정된 코드는 다음과 같습니다.
<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(); // 使用文件名和其二进制数据执行任何操作。 } return Ok(); }</code>
이 솔루션은 웹 API 서비스에서 파일 업로드를 처리하는 보다 유연하고 효율적인 방법을 제공하여 파일 시스템 저장이 필요 없으며 업로드된 콘텐츠를 원활하게 처리할 수 있습니다.
위 내용은 디스크 저장소 없이 ASP.NET Web API에서 파일 업로드를 어떻게 처리할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!