Загрузить изображение, прикрепленное с помощью скрепки - PullRequest
3 голосов
/ 20 июля 2011

Есть ли способ заставить пользователей загружать изображения, прикрепленные с помощью скрепки?

Я только что сделал такую ​​ссылку:

link_to 'imagename', image.attachment.url

Но это заставляет браузер открывать изображение.Я хочу, чтобы браузер попросил пользователя сохранить изображение.Есть ли способ сделать это?

Ответы [ 2 ]

3 голосов
/ 20 июля 2011

Когда дело доходит до отправки файла, вы можете найти всю информацию здесь 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 голос
/ 07 июня 2017

Вот простое решение с использованием атрибута загрузки HTML5

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