>백엔드 개발 >C++ >ASP.NET MVC 웹 API에서 파일 POST를 수락하는 방법은 무엇입니까?

ASP.NET MVC 웹 API에서 파일 POST를 수락하는 방법은 무엇입니까?

DDD
DDD원래의
2025-01-24 01:26:09485검색

How to Accept File POSTs in ASP.NET MVC Web API?

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>

코드 설명:

  1. IsMimeMultipartContent(): 요청의 멀티파트 콘텐츠 유형을 확인합니다.
  2. MultipartMemoryStreamProvider: 메모리의 멀티파트 데이터를 관리합니다.
  3. ReadAsMultipartAsync(): 멀티파트 데이터를 개별 구성 요소로 구문 분석합니다.
  4. 파일 반복: 코드는 각 파일 부분을 반복하여 파일 이름을 추출하고 데이터를 바이트 배열로 읽습니다.
  5. 파일 처리: 파일 처리 논리(저장, 처리 등)를 구현하는 곳입니다.
  6. Ok(): 성공적인 HTTP 응답을 반환합니다.

결론:

이 접근 방식은 ASP.NET Web API에서 파일 업로드를 처리하기 위한 안정적인 방법을 제공합니다. 멀티파트 콘텐츠와 MultipartMemoryStreamProvider을 사용하면 Web API 서비스 내에서 효율적이고 강력한 파일 업로드 처리가 보장됩니다.

위 내용은 ASP.NET MVC 웹 API에서 파일 POST를 수락하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.