说我在我的aspx文件中有这一行
<li>
<a href="../products/handout.pdf" target="_blank">
Desktop and Laptop Installations
</a>
</li>
我的问题是IE浏览器打开了pdf文件,如何强制它在Adobe Acrobat中打开(基本上是关联的应用程序) 这是可行的还是由IE和相关的应用程序决定的 TIA
答案 0 :(得分:5)
你做不到。这是由用户的计算机处理的,而不是您的代码。
答案 1 :(得分:4)
IE决定关联的应用程序。事实上,Windows决定它。利用术语,客户端决定它。你在服务器端而不能。
答案 2 :(得分:3)
如果你在Apache上运行(听起来你不是这样),你可以将链接指向一个真正的PDF以外的东西。它指向一个类似于href="/documents/blah.pdf"
的链接,并使用重写来调用此目录,将所有请求指向脚本。让该脚本解析URL并在结尾处获取文件名。有一个像“real_documents”这样的目录,并让脚本从该目录中的真实pdf中获取pdf内容。将Content-Disposition
标题设置为Attachment
。兼容的浏览器会将文件视为正在下载的文件而不是作为链接打开的文件。用户将获得“你想要保存或运行”,然后在他们设置的任何外部程序中打开文件来处理该文件类型(而不是浏览器如何处理MIME类型)。
然而,简单地让最终用户获得他们可能不想要的体验是很麻烦的。
抱歉,我不知道IIS中的确切术语,但我确信它有一个接近1对1的ModRewrite版本。
答案 3 :(得分:1)
虽然您无法强行使用,但您可以建议用户右键单击该链接并选择“将文件另存为”
您可以使用title属性。
<a href="some.pdf" title="To save this file, right click, and select 'Save file as'">Some PDF File</a>
当用户将鼠标悬停在链接上时,将显示标题文本。
答案 4 :(得分:0)
IE和Windows是决定因素而不是你的链接(只要它具有标准的.PDF扩展名)。
答案 5 :(得分:0)
如果将其部署到IIS,则可以使用链接按钮,对其进行处理,并使用正确的标头流式传输PDF以强制acrobat处理它。