より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

ASP.NET CoreのApiControllerにてファイルをダウンロードするAPIを作成する

状況

HttpMessageResponseを返す記事にヒットしていましたが、私の場合では上手く行きませんでした。

それではjsonが返されるだけでした。

環境は、ASP.NET Core 2.2で、以下のようにController.FileメソッドでFileContentResultを返すAPIになります。

        [HttpGet("test")]
        public IActionResult Test()
        {
            var filePath = Path.GetTempFileName();
            System.IO.File.WriteAllText(filePath, "aaa");

            //Read the File into a Byte Array.
            byte[] bytes = System.IO.File.ReadAllBytes(filePath);
            return File(bytes, "application/octet-stream", "aaa.txt");
        }

参考サイト

qiita.com