ASP.NET Web API에서 파일 콘텐츠 결과 반환
FileContentResult
은 PDF와 같은 파일을 제공하는 MVC 컨트롤러에서 잘 작동하지만 이를 ApiController
로 직접 포팅하는 것은 어려운 일입니다. StreamContent
을 사용하려는 간단한 시도는 종종 실패하여 파일 자체 대신 JSON 메타데이터가 생성됩니다. 해결책은 ByteArrayContent
.
이 수정된 코드 조각은 웹 API의 파일 콘텐츠 결과로 PDF 파일을 효과적으로 반환합니다.
<code class="language-csharp">[HttpGet] public HttpResponseMessage Generate() { using (var stream = new MemoryStream()) { // Process the stream to generate PDF content here... var result = new HttpResponseMessage(HttpStatusCode.OK) { Content = new ByteArrayContent(stream.ToArray()) }; result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = "CertificationCard.pdf" }; result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); return result; } }</code>
핵심은 ByteArrayContent
을 사용하여 파일의 바이트를 캡슐화하고 ContentDisposition
헤더를 "attachment"로 설정하여 다운로드를 요청하는 것입니다. ContentType
헤더는 클라이언트의 적절한 처리를 보장합니다. using
가 올바르게 처리되었는지 확인하려면 MemoryStream
을 사용하세요. 이 접근 방식을 사용하면 웹 API를 통해 PDF 및 기타 파일 형식을 원활하게 전달할 수 있습니다.
위 내용은 ASP.NET 웹 API에서 파일 콘텐츠 결과를 반환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!