5

誰もがこれを手伝ってくれることを願っています!

Paperclipを使用してファイルをアプリケーションにアップロードするので、2つのことをカバーする必要があります。

1)ダウンロード用のファイルにリンクするための最良の方法は何ですか、私は現在パブリックフォルダにリンクしていますが、それは私が望まないURLを表示するので最良のオプションではありません。おそらくbutton_toを呼び出すことを考えると、これがすでにPaperclipに組み込まれているかどうかはわかりません。オプション。

2)上記が実行されると、ブラウザはファイルを開くだけでなく、少なくともユーザーに標準のFirefoxオプションを開くか保存するように強制的にダウンロードする必要があります。

ミルに感謝します!!!

4

2 に答える 2

13

質問Nº2に答えます。
モデルがギャラリーと呼ばれているとしましょう。
ギャラリーコントローラーに、ダウンロードメソッドを追加します。

def download
  @gallery= Gallery.find(params[:gallery_id])

  send_file @gallery.gallery_picture.path,
              :filename => @gallery.gallery_picture_file_name,
              :type => @gallery.gallery_picture_content_type,
              :disposition => 'attachment'
end

次に、ルートからこのメソッドへのルートを呼び出します。

match 'gallery/:id' => 'gallery#download', :as => :download

あなたの見解では:

- @galleries.each do |gallery|     
  = link_to 'Download Picture', download_path(gallery.id)

私は家から離れているので、このコードをテストすることはできませんが、あなたと同じ質問で私が行った質問にアクセスできます。それがあなたの問題を解決するかどうか私に知らせてください。

RailsはPaperclipから複数のスタイルをsend_fileしますが、コードの繰り返しを回避するにはどうすればよいですか?
Rails3.0関連モデルとダウンロード'保存先'画像

于 2013-01-18T21:29:35.290 に答える
0

レールでsend_fileは、ユーザーがパラメーターを設定するとセキュリティホールになります。詳しくは

Rails 4では、単に書くことはできません。match最後に追加する必要があります, via: [:get, :post]詳しくは

于 2014-04-01T06:17:38.427 に答える