在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中文網其他相關文章!