2010-01-12 67 views
2

说我有这条线在我的aspx文件关于锚标记的新手问题

<li> 
    <a href="../products/handout.pdf" target="_blank"> 
     Desktop and Laptop Installations 
    </a> 
</li> 

我的问题是,PDF文件是由IE浏览器打开,我怎么能强迫它以Adobe Acrobat(相关联的应用程序打开基本上) 是完全可行或由IE和相关应用以某种方式决定 TIA

回答

5

你不能。这由用户的计算机处理,而不是您的代码。

4

IE决定关联的应用程序。事实上,Windows决定它。客户端利用术语来决定它。你在服务器端,不能。

+0

嗯... HTML/CSS/JavaScript代码*是*客户端...(浏览器将其下载到用户计算机上并在用户计算机上执行它)。它只是没有力量来确定浏览器处理PDF文档。 – 2010-01-12 07:26:20

+0

@Steve:HTML/CSS/JS是客户端。 – 2010-01-12 07:44:35

0

IE和windows是决定性的因素,在这里不是你的链接(只要它具有标准的PDF扩展名)。

1

虽然你不能强迫它,你可以提出建议用户右键点击链接并选择“保存文件为”

你可以使用title属性为。

<a href="some.pdf" title="To save this file, right click, and select 'Save file as'">Some PDF File</a> 

将在用户悬停在链接上时显示标题文本。

+0

可以接受的答案.. – 2010-01-12 06:26:49

0

如果您将其部署到IIS,您可以使用链接按钮,处理它并使用正确的标头流式传输PDF以强制acrobat处理它。

3

如果你在Apache上运行(这听起来好像你不是),你可以将链接指向除真实PDF之外的东西。是否指向如下链接:href="/documents/blah.pdf"并使用重写来调用此目录以将所有请求指向脚本。让该脚本解析URL并在最后获取文件名。有一个像“real_documents”这样的目录,并让脚本从该目录中的真实pdf中获取pdf内容。将您的Content-Disposition标题设置为Attachment。符合标准的浏览器会将该文件视为正在下载的文件,而不是正在打开的文件作为链接。用户将得到一个“你想保存还是运行”,然后该文件在他们设置的任何外部程序中处理该文件类型(而不是浏览器如何处理MIME类型)。

但是,为了让最终用户获得他们可能不想要的体验,这是很麻烦的。

对不起,我不知道IIS中的确切术语,但我确定它有一个接近1对1的ModRewrite版本。