特定のファイル名のファイルを返す FileResult に問題があります。データベースでは、ファイル名は ID + 拡張子 (例: 456789.mp3) です。
このコード片
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
return File(fs, "application/octet-stream", "myfile.mp3");
Webkit ブラウザー (Chrome、Safari) を除くすべてのブラウザーで適切に動作します。Chrome と Safari はファイルを元のファイル名 (456789.mp3) として受け取ります。ヘッダーを追加すると
Response.AppendHeader("Content-Disposition", "attachment;filename=myfile.mp3");
Safari はファイルを myfile.mp3attach (拡張子に「attach」が追加されていることに注意してください) として受け取りますが、Chrome はこのファイルを myfile.mp3,attach (拡張子に「,attach」を追加します) として受け取ります。
この種の問題を経験した人はいますか?
ありがとう