2011-07-20 70 views
3

有沒有辦法讓用戶使用回形針下載附加的圖像?下載使用回形針附加的圖像

我只是犯了這樣一個環節:

link_to 'imagename', image.attachment.url 

但是這使得瀏覽器中打開圖像。我希望瀏覽器要求用戶保存圖像。有沒有辦法做到這一點?

+0

以前從未做過這個,不過這可能有幫助:http://therailsway.com/2009/2/22/file-downloads-done-right – iwasrobbed

+1

精確複製[這個問題](http://stackoverflow.com/questions/6756416/rails-link-to-立即下載圖像,而非立即開啓) – vinceh

回答

3

當談到發送一個文件,你可以在這裏找到所有信息http://api.rubyonrails.org/classes/ActionController/Streaming.html還有最重要的削減:

簡單下載:

send_file '/path/to.zip' 

在瀏覽器中顯示一個JPEG:

send_file '/path/to.jpeg', :type => 'image/jpeg', :disposition => 'inline' 

在瀏覽器中顯示404頁面:

send_file '/path/to/404.html', :type => 'text/html; charset=utf-8', :status => 404 

使用此選項之一,你必須創建在控制器這樣的新動作:

class SomeController < ApplicationController 
    def download_file 
    send_file image.attachment.path 
    end 
end 
1

下面是一個使用HTML5下載屬性的簡單解決方案

<%= link_to image.name, image.attachment.url, download: image.attachment.original_filename %> 
+1

瀏覽器支持:https://caniuse.com/#search=download – kittyminky