2013-06-10 3 views
0

Я должен обслуживать некоторые файлы для прямой загрузки пользователем. Но если они являются общими типами (например .mp3, .pdf), клиентский браузер обычно пытается показать их напрямую. Это не подразумеваемое поведение. Мне нужен вспомогательный метод, который не отображает файлы, но откроет диалоговое окно «Сохранить как».Rails/Haml open link as 'save as'

Что-то вроде

= link_to_save_as "Download file", @resource.url 

Есть некоторые готовые вспомогательный метод в Rails?

Если нет, есть ли какой-то драгоценный камень, обеспечивающий эту функциональность?

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

ответ

2

Возможно, вы захотите посмотреть на добавление send_file к действию контроллера. См. Здесь docs.

Вероятно, что-то вроде:

def download_file(filename) 
    # You obviously need some restrictions on what can be requested 

    send_file '/path/to.mp3', :disposition => 'attachment' 
end