文本文件下载链接(ruby on rails)

时间:2011-07-19 09:39:31

标签: html ruby-on-rails download href text-files

我想在我的html页面添加下载链接。下载将是一个.txt文件。我已经这样做了,

<a href="path_to_file/myfile.txt">click to download txt </a>

但问题是,当用户点击此链接时,它不是要求用户下载文件,而只是在浏览器中显示文本。

如何更改此脚本以要求用户下载文件(使用默认下载提示对话框)

更新:感谢所有回复。我在服务器端使用ruby / rails。

6 个答案:

答案 0 :(得分:5)

使用rails send_file方法

答案 1 :(得分:0)

你没有忘记在服务器端设置wright内容标题:

header("Content-Disposition: attachment; filename=\"myfile.txt\"");

答案 2 :(得分:0)

  1. 简单的方法 - 拉链。
  2. 如果可以使用php
  3. 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