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
をクリックすると実際にファイルをダウンロードできます。