从Web服务器下载任何文件类型

时间:2009-06-21 18:21:32

标签: javascript html download

我需要HTML页面中的链接,该链接可以使用任何JavaScript“开始下载”我的网络服务器上的普通网页/文件,无论是PDF / ZIP等文件类型,还是PHP / ASP / HTML的输出。 / p>

我知道这可以通过一些返回 mime_content_type 的服务器端下载脚本来实现,因此浏览器会根据其配置来处理它。 (通常是下载)但我真的很喜欢只有JavaScript的解决方案。有什么想法吗?

4 个答案:

答案 0 :(得分:3)

你根本无法在javascript中执行此操作,因为您需要更改mime类型标头。您可以做的最好的事情是使用open('url')在另一个窗口中打开它,但我认为这不符合您的需求,并且可能被弹出窗口拦截器阻止。

答案 1 :(得分:1)

如果要强制浏览器显示“另存为”对话框,我使用以下标题:

Content-type: application/octet-stream
Content-Transfer-Encoding: binary
Content-disposition: attachment; filename=test.pdf

答案 2 :(得分:1)

必须在服务器端完成。要在Apache服务器上执行此操作,请将其添加到.htaccess文件中:AddType application/octet-stream mp3其中mp3是需要下载的文件类型。

答案 3 :(得分:0)

Fabien指出,您需要使用网络服务器提供文件。例如,使用ASP,您可以在提供文件之前为文件提供内容类型:

Response.contenttype = "application/octet-stream"