下载文本文件而不是在浏览器中打开

7

我有一个文本文件:

当我点击下载按钮时,应该将其下载并保存在我的本地下载路径中。

我已经尝试过了。

window.open("data.txt");

并且

header("Location:data.txt")

但是两者都只能打开文本文件浏览器本身。我想要下载txt文件。

有人可以帮帮我吗?

谢谢

Manikandan。


2
在您喜爱的搜索引擎中输入“php强制下载”。 - Dan Grossman
你可以在服务器上设置 MIME 类型,例如 application/octet-stream,或者设置一个值为 "attachment; filename=someFile.txt" 的 Content-Disposition 头来强制下载任何内容类型。 - aroth
如果这对您有帮助,请查看以下内容:https://dev59.com/uXNA5IYBdhLWcg3wKai3 - DSharper
谢谢,我尝试过了,但它没有起作用。 - Manikandan Thangaraj
请帮我解决这个问题。 - Manikandan Thangaraj
5个回答

7

试试这个:

$file = "data.txt";
$text = file_get_contents($file);
header("Content-Disposition: attachment; filename=\"$file\"");
echo $text;

4
http头可能会解决您的问题,只需引用即可。
 http://en.wikipedia.org/wiki/List_of_HTTP_header_fields

0
你可以使用这个Jquery插件http://jdownloadplugin.com/来进行文件下载。它有许多额外的酷炫功能,可用于从网站上下载文件。

0
如果您正在使用Apache并希望强制下载txt文件而不是在浏览器中打开它们,则可以使用.htaccess进行设置。
AddType application/octet-stream .txt

-1

我可以告诉你需要将头部的content-disposition设置为文件附件,但我不知道如何在JavaScript中实现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接