0

我的 ASP.Net MVC 应用程序是一个 Intranet 应用程序,在 HTML 中,我放置了一个指向存储在我们网络上的 PDF 文件的锚链接。如果您单击链接,Chrome 不会在浏览器中打开这些文件,但是如果您从网页上复制链接并创建一个新选项卡,将链接粘贴进去,它将打开。

现在,应用程序和文件都在同一个域中,所以我怎样才能让 PDF 在新选项卡中自动打开?我查看了各种 Chrome 扩展程序,但它们似乎不起作用。必须有一种方法可以使用 Chrome 在您的 Intranet 中打开基于本地/网络的文件,请不要说我必须求助于糟糕的 Internet Explorer!

非常感谢任何帮助。

4

3 回答 3

0

您是否尝试过使用 HTML iframe 标签来显示 PDF?例子:

<iframe id="frameID" style="border:1px solid #666CCC" title="PDF in an i-Frame" src="PDFData.pdf" frameborder="1" scrolling="auto" height="1100" width="850" ></iframe>
于 2013-03-19T00:37:11.973 回答
0

修复应该在您的 mvc 项目中。只需确保该操作返回 FileStreamResult 。例子:

return new FileStreamResult(new FileStream(filePath, FileMode.Open), MimeMapping.GetMimeMapping(filePath));
于 2020-11-01T11:24:01.823 回答
0

对你来说已经过时了,但我最近在 ubuntu 上的 apache2 服务器上解决了这个问题。我相信这是客户端浏览器的安全问题 - 网页无法恶意打开客户端文件

什么解决方案

  • 在我的网络服务器上安装网络共享驱动器
  • html指向已安装驱动器内的pdf
  • (在 Apache 上可选)使用 .htaccess 规则来防止文件夹索引(列出所有文件/文件夹)

因此网页打开的是自己的文件,而不是客户端;所以 firefox/chrome/et al 会允许这种情况发生

于 2020-07-22T08:26:34.303 回答