如何创建可下载的文本文件链接?

时间:2012-02-09 09:56:43

标签: html hyperlink download

目的是在运行sql dumping脚本(从PHP)之后下载转储的backup.sql文件。通常,转储的.sql文件在服务器上输出(写入)。然后,当我像<a href="backup.sql">Download File</a>那样创建一个指向该文件的href链接时,文件在点击时在浏览器内打开,而不是下载。

  • 我只想制作一个简单的 HREF LINK (对于这样的文本文件),在左边显示“另存为... ”对话框点击即可。

怎么做?

4 个答案:

答案 0 :(得分:18)

或者您可以在HTML的锚标记中使用新的HTML5属性download

代码看起来像

<a download href="path/to/the/download/file"> Clicking on this link will force download the file</a>

适用于firefox和chrome最新版本。我应该提一下我没有在IE中查看它吗? :P

答案 1 :(得分:3)

将以下行添加到.htaccess文件中。

<Files "backup.sql">
ForceType applicaton/octet-stream
Header set Content-Disposition attachment
</Files>

答案 2 :(得分:3)

另一种选择是在.php文件中提供它,例如download.php

在download.php中有这个

    $path = "backup.sql"
    header("Content-Type: application/octet-stream");    //

    header("Content-Length: " . filesize($path));    

    header('Content-Disposition: attachment; filename='.$path);

    readfile($path); 

然后

<a href="download.php">Download File</a>

答案 3 :(得分:0)

仅供参考 https://stackoverflow.com/a/56664507/766644

如果客户端上有所有可用的导出数据(例如您的.sql文本),您可以

const blob = new Blob([fileContent], { type: 'text/plain' });
const a = document.createElement('a');
a.setAttribute('download', fileName);
a.setAttribute('href', window.URL.createObjectURL(blob));
a.click();