2009-06-21 87 views
0

我需要一个HTML页面中的链接,它可以使用任何JavaScript来“开始下载”我的网络服务器上的普通网页/文件,文件类型如PDF/ZIP或简单地输出PHP/ASP/HTML。从网络服务器下载任何文件类型

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

+0

无论文件类型是什么(即,不要在浏览器中使用Adobe Reader打开PDF或呈现HTML页面等),我是否正确理解您要强制下载对话框?如果是这种情况,可以添加标题“Content-Disposition:attachment;”在服务器端。我不知道如何在客户端强制执行此操作。 – Blixt 2009-06-21 18:27:27

回答

1

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

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

你根本无法在javascript中这样做,因为你需要改变MIME类型头。你可以做的最好的做法是使用open('url')在另一个窗口中打开它,但我认为这不符合你的需求,并可能被弹出窗口拦截器阻止。

+0

IE浏览器可以通过execCommand()调用 – 2009-06-21 18:31:39

+0

这样做如果你只针对IE用户,你可以使用类似这样的方法,但我不会推荐它! – 2009-06-21 18:37:00

0

Fabien指出,您将需要使用Web服务器来提供文件。例如与ASP你会服务于文件之前给该文件的内容类型:

Response.contenttype = "application/octet-stream" 
1

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

相关问题