ASP.Net Core Web API では、ファイルを JSON 応答として返すことができます。面倒な。当然のことながら、ファイルを元のバイナリ形式で返したいと思うでしょう。この問題を解決するには、ASP.Net Core の結果の型の概念を詳しく調べる必要があります。
IActionResult インターフェイスについて
ASP.Net Core では、IActionResultアクションメソッドの結果を表すインターフェースです。 HTTP 応答の本文とステータス コードをカプセル化し、応答を柔軟にカスタマイズできるようにします。
解決策: FileStreamResult を返す
ファイルを返すには、 IActionResult を実装する FileStreamResult クラス。これにより、応答のファイル ストリーム、コンテンツ タイプ、およびファイル名を指定できるようになります。次のコード スニペットは、このアプローチを示しています。<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 中国語 Web サイトの他の関連記事を参照してください。