zukucode
主にWEB関連の情報を技術メモとして発信しています。

ASP.NET Core WebAPIでファイルをダウンロードする

ASP.NET CoreWebAPIで、ファイルをダウンロード(レスポンス)する方法を紹介します。

.NET5, .NET6などが対象です。

以下のようにFileReturnするとファイルをダウンロードできるようになります。

[HttpGet("{id}/[action]")]
public async Task<IActionResult> Download(string id)
{
    return File(ファイルの中身, "application/octet-stream", ファイル名);
}

ファイルの中身はバイト配列byte[]、ファイル名は文字列stringで指定します。

ファイルをバイト配列で読み込む方法はASP.NET アップロードされたファイル(IFormFile)をバイト配列で読み込むで紹介しています。

動作確認

swaggerで動作確認します。APIを実行すると、以下のようにダウンロードリンクが表示されます。

ASP.NET WevAPIでファイルをダウンロード

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


関連記事