在我的应用程序中,我的解决方案中有一个pdf文档,当用户单击某个特定按钮时,必须在弹出窗口中打开文档。我可以通过返回文件流对象在同一窗口中打开它。我使用的代码。
public ActionResult ShowPdf()
{
if (System.IO.File.Exists(Server.MapPath("~/downloads/MyPdf.pdf")))
{
string pathSource = Server.MapPath("~/downloads/MyPdf.pdf");
FileStream fsSource = new FileStream(pathSource, FileMode.Open, FileAccess.Read);
return new FileStreamResult(fsSource, "application/pdf");
}
else
{
return RedirectToAction("Index", "User");
}
}
如何在弹出窗口中加载
提前致谢
答案 0 :(得分:3)
这取决于您如何从客户端调用此控制器操作。例如,如果您有链接,则可以将target="_blank"
属性添加到此锚点。例如:
@Html.ActionLink(
"Download pdf",
"ShowPdf",
"SomeController",
null,
new { target = "_blank" }
)
或者,如果您使用javascript来调用控制器操作,则可以使用window.open
函数。