ASP.NET Core WebAPIでファイルをダウンロードする
ASP.NET CoreのWebAPIで、ファイルをダウンロード(レスポンス)する方法を紹介します。
.NET5, .NET6などが対象です。
以下のようにFileをReturnするとファイルをダウンロードできるようになります。
[HttpGet("{id}/[action]")]
public async Task<IActionResult> Download(string id)
{
return File(ファイルの中身, "application/octet-stream", ファイル名);
}ファイルの中身はバイト配列byte[]、ファイル名は文字列stringで指定します。
ファイルをバイト配列で読み込む方法はASP.NET アップロードされたファイル(IFormFile)をバイト配列で読み込むで紹介しています。
動作確認
swaggerで動作確認します。APIを実行すると、以下のようにダウンロードリンクが表示されます。

Download fileをクリックすると実際にファイルをダウンロードできます。