在 ASP.Net Core Web API 中,可以將檔案當作 JSON 回應傳回麻煩。可以理解的是,您希望以原始二進位格式傳回檔案。為了解決這個問題,我們需要深入研究 ASP.Net Core 中結果類型的概念。
理解 IActionResult 介面
在 ASP.Net Core 中,IActionResult是一個表示操作方法結果的介面。它封裝了 HTTP 回應正文和狀態代碼,為自訂回應提供了靈活性。
解決方案:傳回 FileStreamResult
要傳回文件,我們將利用FileStreamResult 類,它實作 IActionResult。這允許我們指定回應的檔案流、內容類型和檔案名稱。
以下程式碼片段示範了這個方法:
<code class="csharp">[Route("api/[controller]")] public class DownloadController : Controller { [HttpGet("{id}")] public async Task<IActionResult> Download(string id) { Stream stream = await // Get stream based on id here if (stream == null) return NotFound(); // Handle not found scenario return File(stream, "application/octet-stream", "filename.ext"); } }</code>
在此程式碼中:
注意:
以上是如何在 ASP.Net Core Web API 中以二進位回應形式傳回檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!