【发布时间】:2012-07-29 21:16:15
【问题描述】:
如何在我的网站上链接只能下载的 pdf 文件,而不是在浏览器中显示此 PDF?
【问题讨论】:
标签: javascript html pdf href
如何在我的网站上链接只能下载的 pdf 文件,而不是在浏览器中显示此 PDF?
【问题讨论】:
标签: javascript html pdf href
如何处理 HTTP 响应内容的行为最终由浏览器决定,而不是由服务器决定。但是,您可以向浏览器“建议”响应的内容是一个“文件”,并使用 content-disposition header 建议保存该文件的名称。
请注意,HTTP 协议并没有像大多数人推断的那样真正传输“文件”。它传输带有相关标头的内容。因此,您所做的一切都是通过内容随附的标题完成的。
编辑:我刚刚注意到您的标签...您是在谈论提供文件以供下载还是链接到其他地方提供的文件?如果是后者,那么我很确定它超出了您的控制范围。你的 JavaScript 或许可以控制请求头的内容,但响应头完全取决于服务器。
【讨论】:
您可以设置随响应发送的标头,以建议浏览器保存文件:
Content-disposition: attachment; filename=whatever.pdf
您如何在实践层面上实现这一点取决于您的网络服务器和/或编程环境。然而,尝试用 JavaScript 完成这件事可能不是前进的方向。
其他选项包括通过将content-type 设置为application/octet-stream 或类似值来诱使浏览器认为文件实际上不是PDF。这通常是这样做的,这是否是一个好主意是值得商榷的。
【讨论】: