将html / javascript链接到pdf只能下载

时间:2011-07-06 10:50:22

标签: javascript html pdf href

如何在我的网站上链接pdf文件只能下载,而不是在浏览器中显示这个PDF?

2 个答案:

答案 0 :(得分:4)

如何处理HTTP响应的内容最终由浏览器决定,而不是由服务器决定。但是,您可以向浏览器“建议”响应内容是“文件”,并使用content-disposition header建议用于保存该文件的名称。

请注意,在大多数人推断的意义上,HTTP协议并不真正传输“文件”。它使用相关标头传输内容。因此,您所做的一切都是通过内容附带的标题完成的。

修改:我刚刚注意到您的代码......您是在谈论提供文件供下载还是链接到其他地方提供的文件?如果是后者那么我很确定它不受你的控制。您的JavaScript可以控制请求标头的内容,但响应标头完全取决于服务器。

答案 1 :(得分:4)

您可以设置与响应一起发送的标题,以便向浏览器建议它应该保存文件:

 Content-disposition: attachment; filename=whatever.pdf

如何在实际级别上实现此目标取决于您的网络服务器和/或编程环境。但是,试图用JavaScript完成这项工作可能不是前进的方法。

其他选项包括通过将content-type设置为application/octet-stream或类似内容来欺骗浏览器,使其认为文件实际上不是PDF。这通常已经完成,无论这是一个好主意是否值得商榷。