我想在我的html页面添加下载链接。下载将是一个.txt文件。我已经这样做了,
<a href="path_to_file/myfile.txt">click to download txt </a>
但问题是,当用户点击此链接时,它不是要求用户下载文件,而只是在浏览器中显示文本。
如何更改此脚本以要求用户下载文件(使用默认下载提示对话框)
更新:感谢所有回复。我在服务器端使用ruby / rails。
答案 0 :(得分:5)
使用rails send_file方法
答案 1 :(得分:0)
你没有忘记在服务器端设置wright内容标题:
header("Content-Disposition: attachment; filename=\"myfile.txt\"");
答案 2 :(得分:0)
header ( 'Content-Type: text/html'); header ( "Content-Disposition: 'attachment'; filename='text.txt'" ); include ('path_to_file/myfile.txt') exit;
答案 3 :(得分:0)
您可以在.htaccess中执行此操作
1。如果您只想要这个特定文件:
<Directory path_to_file>
<Files myfile.txt>
<IfModule mod_headers.c>
ForceType application/octet-stream
Header set Content-Disposition attachment
</IfModule>
</Files>
</Directory>
2。如果您希望它适用于.txt
path_to_file
个文件
<Directory path_to_file>
<FilesMatch “.(?i:(txt))$”>
<IfModule mod_headers.c>
ForceType application/octet-stream
Header set Content-Disposition attachment
</IfModule>
</FilesMatch>
</Directory>
答案 4 :(得分:0)
查看:(Html文件)
= link_to'点击下载txt',:controller =&gt; 'download',:action =&gt; '测试'
下载控制器:
def测试 file_path ='path_to_file / myfile.txt' send_file file_path 端
答案 5 :(得分:-1)
如果您的服务器支持php,您可以使用以下行:
header('Content-type: text/plain');
header('Content-disposition: attachment; filename="name.txt"');
readfile('name.txt');
另见PHP: header示例#1