【问题标题】:How to download a file from server with a button click如何通过单击按钮从服务器下载文件
【发布时间】:2012-03-04 21:37:08
【问题描述】:

假设我的服务器上有这个文件:

server/myFile.txt

如何让用户通过单击按钮下载它? 我错过了一个简单的解决方案吗?

如果有解决方案,我正在使用 jQuery 和 PHP。

谢谢, 阿隆

【问题讨论】:

  • jquery trigger('click') on a hidden link?
  • 我知道怎么做 $('#myLink').click(function(){});我的问题是我要写什么来制作文件下载命令

标签: php javascript jquery html download


【解决方案1】:

我不确定我是否误解了您的问题,否则应该很简单:

<a href="link/to/file">download file</a>

您根本不需要使用 js 或 php,Apache 或您使用的任何其他网络服务器应该自行处理下载。只需让用户直接从服务器下载即可。

【讨论】:

  • 我想要一个显示“下载文件”的按钮,当我点击它时,文件将被下载到用户的计算机,如下所示:mozilla.org/en-US/firefox/new。 href attr 仅将我重定向到文件位置,但不下载文件..
  • 您使用的是什么网络服务器?如果您使用的是 apache,那么您可以使用thingy-ma-jig.co.uk/comment/7186 中描述的技术强制下载,否则也可以通过ryboe.com/tutorials/php-headers-force-download 在 php 中实现
  • 也许最好指定“链接/到/文件”应该是基于您网站的链接。例如,如果您的网站在 /var/www/www.mywebsite.com 下,要下载的文件在 /var/www/www.mywebsite.com/files/myfile.txt 下,那么“link/到/文件”应该是“mywebsite.com/files/myfile.txt”。如果您使用基本路径(即“/var/www/www.mywebsite.com/files/myfile.txt”),您最终会得到“mywebsite.com/var/www/www.mywebsite.com/files/myfile.txt”,这不是正确的路径。
  • @Alon,将content-disposition:attachment添加到标题中,浏览器将下载它而不是显示它。
【解决方案2】:

如果您想强制为您的网络服务器配置为输出为可读文档的文件类型打开“另存为”对话框(并且您不想更改该配置),您需要创建一个修改标题的文件,以便浏览器创建这样的对话框。

请参阅readfile 的 php 文档中的第一个示例。

然后,您将创建一个 PHP 文件,该文件可以通过普通的 a href 链接访问,该链接将发送适当的标头并输出 myFile.txt。

【讨论】:

  • 这就是我要找的东西!
猜你喜欢
  • 2013-03-30
  • 1970-01-01
  • 1970-01-01
  • 2018-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多