1. ホーム
  2. asp.net-mvc

[解決済み] MVCコントローラからダウンロード用のファイルを表示するにはどうすればよいですか?

2022-09-30 03:57:45

質問

WebFormsでは、通常このようなコードで、PDFのような任意のファイルタイプとファイル名を持つ "ファイルのダウンロード" ポップアップをブラウザに表示させることができると思います。

Response.Clear()
Response.ClearHeaders()
''# Send the file to the output stream
Response.Buffer = True

Response.AddHeader("Content-Length", pdfData.Length.ToString())
Response.AddHeader("Content-Disposition", "attachment; filename= " & Server.HtmlEncode(filename))

''# Set the output stream to the correct content type (PDF).
Response.ContentType = "application/pdf"

''# Output the file
Response.BinaryWrite(pdfData)

''# Flushing the Response to display the serialized data
''# to the client browser.
Response.Flush()
Response.End()

ASP.NET MVCで同じ作業を行うにはどうすればよいですか?

どのように解決するのですか?

を返す FileResult または FileStreamResult を実行します。ファイルが存在するか、またはその場で作成されるかによって異なります。

public ActionResult GetPdf(string filename)
{
    return File(filename, "application/pdf", Server.UrlEncode(filename));
}