環境:
VisauStudio2017
ASP.NET MVC5
EntityFramework6.2
//Controller public ActionResult DownloadFile(int id) { var t_document = sampleDB.t_document.Find(id); if (t_document == null) { return RedirectToAction("Index"); } string documentName = t_document.DocumentName; string documentPath = t_document.DocumentPath + Base64Encoder.Encode(t_document.DocumentId + "_" + documentName); var fileData = System.IO.File.ReadAllBytes(documentPath); string contentType = MimeMapping.GetMimeMapping(documentPath); var cd = new System.Net.Mime.ContentDisposition { FileName = HttpUtility.UrlEncode(documentName, System.Text.Encoding.UTF8), Inline = true }; Response.AppendHeader("Content-Disposition", cd.ToString()); return File(fileData, contentType); }
<!-- view --> @Html.ActionLink(document.DocumentName, "DownloadFile", new { id = document.DocumentId }, new { @title = "ファイルのダウンロード" })
以上の様な形でview部分でHtml.Actionlinkの第二引数にコントローラーのアクション名を指定することでDownloadFileメソッドを呼び出しております。
現状こちらのメソッドですと自身のローカルにpdfファイルがダウンロードされるという形になっているのですが、これをブラウザ上に新たにタブを表示しpdfを表示したいです。しかし方法が良く分からず困っております。
参考URL
こちらの記事を参考にしようと試みたのですが処理が良く理解できませんでした。どのようにすれば、ファイルダウンロードをプレビューとして表示できるでしょうか。宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/28 09:37
退会済みユーザー
2019/02/28 11:30 編集
退会済みユーザー
2019/03/01 02:52