>  기사  >  백엔드 개발  >  ASP.NET Core Web API에서 파일을 반환하는 방법은 무엇입니까?

ASP.NET Core Web API에서 파일을 반환하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-01 09:20:02208검색

How to Return Files from an ASP.NET Core Web API?

ASP.NET Core Web API에서 파일 다운로드

ASP.NET Core Web API에서 파일을 반환하는 것은 어려울 수 있습니다. 기본 동작으로 인해 HttpResponseMessage가 JSON으로 직렬화되는 경우가 많습니다. 이 문제를 해결하려면 다른 접근 방식을 활용해야 합니다.

제공된 코드 조각에서 IActionResult 인터페이스를 사용하여 파생된 ActionResult 유형을 반환해야 합니다. FileStreamResult를 반환하면 다운로드할 파일의 콘텐츠 유형과 파일 이름을 지정할 수 있습니다.

<code class="csharp">[Route("api/[controller]")]
public class DownloadController : Controller
{
    [HttpGet("{id}")]
    public async Task<IActionResult> Download(string id)
    {
        Stream stream = await GetStreamBasedOnIdAsync(id);

        if (stream == null)
            return NotFound();

        return File(stream, "application/octet-stream", $"{filename}.ext");
    }
}</code>

이 업데이트된 코드에서는

  • IActionResult 인터페이스가 구현됩니다.
  • FileStreamResult는 파일을 반환하는 데 사용됩니다.
  • 다운로드한 파일의 콘텐츠 유형과 파일 이름을 설정합니다.

이 메서드는 HttpResponseMessage에 올바른 콘텐츠 유형이 포함되어 있는지 확인합니다. 및 파일 이름을 사용하면 웹 API에서 원활한 파일 다운로드가 가능합니다.

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

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