您可以使用AJAX回显文件以供下载吗?

时间:2010-07-11 05:34:42

标签: php ajax

我想让用户只需点击一下按钮即可下载文件。事实上,文件实际上并不存在 - 它只是一些动态内容。

所以我们说:

$('a.download').click(function(){

$.post('get.php');
})

在我的PHP中:

header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=something.txt");
header("Content-Type: text");
header("Content-Transfer-Encoding: binary");
echo 'abcbdefg'

这有效吗?还有其他方法吗?

2 个答案:

答案 0 :(得分:1)

只需创建一个指向该文件的链接,如下所示:

<a href="get.php">download my file</a>

每当有对PHP类型文件的请求时,您的网络服务器将首先处理该文件并将其包含的任何文本输出到客户端;你不需要做任何特别的事情,因为它是动态的。

使用$ .post()对你想做的事没有意义;将数据POST到您指定的URL,它不会提示用户保存文件。

答案 1 :(得分:0)

是的,这是有效的。我很漂亮,这是最好的方式。