Dha*_*val 25 html anchor download
我有一个简单的文本文件,我想在任何锚标记链接上下载该文件.
但是,当我点击链接txt文件显示我但没有下载.
我试过这段代码
<html>
<head>
<title>File</title>
</head>
<body>
<a href="test.txt">Click here</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
Efe*_*kan 60
单击链接时下载文件(而不是导航到文件):
<a href="test.txt" download>Click here</a>
Run Code Online (Sandbox Code Playgroud)
下载文件并将其重命名为mytextdocument.txt:
<a href="test.txt" download="mytextdocument">Click here</a>
Run Code Online (Sandbox Code Playgroud)
download属性指定在用户单击超链接时将下载目标.
仅在设置href属性时才使用此属性.
属性的值将是下载文件的名称.允许值没有限制,浏览器将自动检测正确的文件扩展名并将其添加到文件(.img,.pdf,.txt,.html等).
如果省略该值,则使用原始文件名.
你可以这样做
<a href="data:text/plain;charset=UTF-8,test.txt" download>Click here</a>
或者就我而言,我需要更动态的东西
var downloadFile = function(url){
let a = document.createElement('a');
a.href = 'data:text/plain;charset=UTF-8,' + '' + url;
a.download = url.substr(url.lastIndexOf('/') + 1);
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
}
Run Code Online (Sandbox Code Playgroud)
主要区别是附加
数据:文本/普通;字符集=UTF-8,
到我的文本文件网址
下载文件(' http://my.txt ');
您可以使用Content-Disposition标题。
您可以使用 PHP 或.htaccess.
PHP:
<?php
header("Content-Disposition: attachment");
header("Content-Type: text/plain"); // optional
readfile("yourfile.txt");
?>
Run Code Online (Sandbox Code Playgroud)
然后您可以使用 PHP 的 URL 或将 TXT 的 URL 重定向到它。如果你想使用 PHP 的 URL 但想用原始名称保存文件,你可以在那里交换这一行:
header("Content-Disposition: attachment; filename=yourfile.txt");
Run Code Online (Sandbox Code Playgroud)
.htaccess:
<Files yourfile.txt>
Header set Content-Disposition attachment
</Files>
Run Code Online (Sandbox Code Playgroud)