2017-01-05 14 views
0

Webサイトユーザーに役立つ必要があるUserGuide PDFファイルを検討してください。ユーザーがリンクをクリックした後、ブラウザがファイルをダウンロードするためのプロンプトが表示されますASPは、ダウンロードのプロンプトを表示する代わりに、ブラウザ内の閲覧モードでPDFを開きます。

public ActionResult Help() 
    { 
     string path = Server.MapPath("~/Content/UserGuide.pdf"); 
     var fileBytes = System.IO.File.ReadAllBytes(path); 
     var responseFile = new FileContentResult(fileBytes, "application/pdf") 
     { 
      FileDownloadName = "Guide.pdf" 
     }; 
     return responseFile; 
    } 

が、ここで:

@Html.ActionLink("User Guide","Help","Portal") 

ファイルを返すコントローラ:ここ

は、ビュー内のそれへのリンクですより良い方法は、ユーザーがリンクをクリックすると、ブラウザ内にPDFページが表示されることです。ちょうどウェブページのように!どのような体はこれを達成するための最良の方法を言及できますか?

答えて

1

FileStreamResultを返す必要があるようです。 SO here

から

Response.AppendHeader("content-disposition", "inline; filename=file.pdf"); 
return new FileStreamResult(stream, "application/pdf") 

か、FileResult例えば試すことができますSO here

+0

から

return File(fileArray, contentType, fileName) 

はい、使用して '新しいFileStreamResult(新しいFileStreamを(パス、FileMode.Open)、 "アプリケーション/ PDF")を返す;'仕事をしてくれました。 – AmiNadimi

+0

最初の行にヘッダーを付けるのは良いことですが、必要ではないと思います。 – AmiNadimi

関連する問題