我想在iframe上显示pdf,但我的pdf不在项目文件夹(C:\ intetpub \ wwwroot)上。它保存在驱动器D:\。
上示例代码:
<iframe src="D:\Test.pdf#page=30"></iframe>
我尝试了ff:
src="file:///D:/Test.pdf#page=30"
src="<%: Url.Content(Model.path) %>"
但仍然没有运气。我不想复制/移动项目文件夹或根文件夹上的pdf。有没有其他方法可以做到这一点,或者我的src路径是错误的?
我打算创建一个showPDF.aspx,将它放在iframe上,但我担心adobe url参数可能无法使用此解决方案。
答案 0 :(得分:1)
使用您粘贴的代码,浏览器将尝试从CLIENT计算机D驱动器显示该文件。您需要在应用程序中创建一个指向PDF文件夹的虚拟目录。然后,您可以像在Web应用程序根目录中的实际目录一样引用该虚拟目录。
src="\PDF\Test.pdf"
另一种方法是让控制器/操作进入该目录,将文件读入字节数组并将文件内容的FileResult
返回给最终用户。 Here is an SO answer如何从控制器操作向用户返回文件或直接按照Darin的建议返回文件
public ActionResult Pdf()
{
return File(@"d:\test.pdf", "application/pdf");
}
答案 1 :(得分:1)
您必须编写一个控制器操作,该操作将检索文件并将其传回响应:
public ActionResult Pdf()
{
return File(@"d:\test.pdf", "application/pdf");
}
现在在您的视图中,您可以使用iframe将其指向此控制器操作:
<iframe src="<%= Url.Action("Pdf", "SomeController") %>"></iframe>