首頁 > 後端開發 > C++ > 主體

如何從 ASP.Net Core Web API 傳回沒有 JSON 格式的檔案?

Barbara Streisand
發布: 2024-10-31 18:16:02
原創
391 人瀏覽過

How to Return Files from ASP.Net Core Web API Without JSON Formatting?

在ASP.Net Core Web API 中回傳檔案

問題:

問題:

Web API🎜>問題:

Web API控制器通常需要返回文件的能力。但是,即使採取步驟將 ContentType 設定為 application/octet-stream,使用者也可能會遇到傳回的 HttpResponseMessage 格式為 JSON 的問題。

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

        if (stream == null)
            return NotFound(); // Returns a NotFoundResult with Status404NotFound response.

        return File(stream, "application/octet-stream", $"{filename.ext}"); // Returns a FileStreamResult
    }
}</code>
登入後複製

在 ASP.Net Core 中,利用 IActionResult 介面進行操作可以解決此問題。框架使用這種方法將 HttpResponseMessage 解釋為模型。

實作方法如下:

注意:框架會自動回應完成後處理流。過早使用 using 語句將導致異常或回應損壞。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!