【问题标题】:Forcing PDF to be displayed in Browser, not to Download强制 PDF 在浏览器中显示,而不是下载
【发布时间】:2016-07-31 03:59:02
【问题描述】:

美好的一天。 所以,这是我的问题。

我目前正在将 sharepoint 2010 用于 Web 应用程序,我应该将 pdf 显示为网页的一部分。目前,浏览器倾向于下载pdf文件而不是显示它。

Content-disposition 已设置为内联。 我也用过iframe,src指向自定义httpHandler。 根据此链接http://www.pdfshareforms.com/sharepoint-2010-and-pdf-integration-series-part-1/ 中的建议,我已经在 AllowedInlineDownloadedMimeTypes 列表中添加了“application/pdf”MIME 类型。

但是,应用程序仍然无法显示它,并提示用户下载文件。

我正在使用 mozilla firefox v12 和 ie8 来测试应用程序,它们都表现出相同的行为。

还缺少什么?谢谢。

【问题讨论】:

    标签: asp.net pdf sharepoint-2010


    【解决方案1】:

    请务必记住,并非所有浏览器(尤其是 Internet Explorer 8 等较旧的浏览器)都能够内联呈现 PDF 内容。在这些较旧的浏览器中,这通常是通过在客户端计算机上安装 Adobe ReaderFoxit 等插件来实现的。

    基本上,如果您使用的是旧版浏览器,您的用户可能需要安装其中一个(或类似的)插件。否则当浏览器遇到 PDF 文件时,它会将其提供给用户,因为它并不知道如何处理它。

    这也有可能是权限/设置问题similar to the one addressed in this related question。您可能需要查看该线程中的一些讨论以及this Sharepoint 2010 one,其中详细介绍了名为“浏览器文件处理”的设置以及“严格”的默认值如何影响 PDF 和其他文件的访问方式。

    他在查看“Web 应用程序常规设置”时遇到了解决方案。有一个称为浏览器文件处理的设置,默认情况下它设置为严格。

    【讨论】:

    • 您好,感谢您的回复。我已经阅读了与此相关的类似问题的场景。但是,根据 Dmitry 在 Sharepoint2010,PDF 集成第 1 部分的博客中的说法,他说推荐的方法是添加 pdf 的 mime 类型,而不是将整个设置更改为 Permissive。有没有办法知道用户是否安装了插件,如果没有就通知他?
    • 我不知道您是否遇到过 this related blog post 但它似乎是在 Sharepoint 2010 中处理 PDF 的详尽介绍,可能值得研究。至于检测正在安装的 PDF 查看器,老实说,我不确定处理它的最佳方法。可能存在涉及检查注册表的 JavaScript 方法或服务器端方法(如 this),这可能不适用于基于 Web 的环境。
    • 嗨,再次感谢。是的,那篇博文就是我在第一次发表评论时要与之交谈的博文。我做了解决方案 #3 来添加应用程序/pdf mime 类型。好的,我将深入研究可以检查用户是否安装了插件的可能解决方案。非常感谢。
    猜你喜欢
    • 2014-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-07
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 2013-02-13
    相关资源
    最近更新 更多