首頁 > 後端開發 > C++ > 如何從 ASP.NET Core Web API 傳回檔案?

如何從 ASP.NET Core Web API 傳回檔案?

Susan Sarandon
發布: 2024-11-01 09:20:02
原創
304 人瀏覽過

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 包含正確的內容類型和檔案名,允許從您的 Web API 無縫下載檔案。

以上是如何從 ASP.NET Core Web API 傳回檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板