我想添加一個下載鏈接到我的html頁面。下載將是一個.txt文件。我這樣做,文本文件下載鏈接(ruby on rails)
<a href="path_to_file/myfile.txt">click to download txt </a>
但問題是,當用戶點擊該鏈接,而不是要求用戶下載文件時,它只是顯示在瀏覽器中的文本。
我怎樣才能改變這個腳本來要求用戶下載文件(默認下載提示對話框)
更新:感謝所有的答覆。我在服務器端使用ruby/rails。
我想添加一個下載鏈接到我的html頁面。下載將是一個.txt文件。我這樣做,文本文件下載鏈接(ruby on rails)
<a href="path_to_file/myfile.txt">click to download txt </a>
但問題是,當用戶點擊該鏈接,而不是要求用戶下載文件時,它只是顯示在瀏覽器中的文本。
我怎樣才能改變這個腳本來要求用戶下載文件(默認下載提示對話框)
更新:感謝所有的答覆。我在服務器端使用ruby/rails。
沒有忘記設置賴特內容頭在服務器端:
header("Content-Disposition: attachment; filename=\"myfile.txt\"");
我在ruby中使用它會是#### response.content_disposition =「attachment」; response.filename =「myfile.txt」#### –
如果您的服務器支持PHP,你可以使用這些行:
header('Content-type: text/plain');
header('Content-disposition: attachment; filename="name.txt"');
readfile('name.txt');
另見PHP: header示例#1
header ('Content-Type: text/html'); header ("Content-Disposition: 'attachment'; filename='text.txt'"); include ('path_to_file/myfile.txt') exit;
您可以在.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>
個
查看:(HTML文件)
=的link_to '點擊下載TXT',:控制器=> '下載',:動作=> '測試'
下載控制器:
DEF測試 FILE_PATH = '文件路徑/ myfile.txt的' 由send_file FILE_PATH 端
您需要設置適當的HTTP標頭,因此不能用純HTML完成。您是否有權訪問服務器端工具來更改HTTP標頭,例如PHP或Apache的.htaccess文件? –
默認情況下,瀏覽器將顯示txt文件,除非您發送Content-Disposition:附件標頭。 –