Загрузка / выгрузка файлов - система Ruby On Rails - PullRequest
2 голосов
/ 10 февраля 2011

Я пытаюсь создать простую систему хостинга файлов, используя Ruby On Rails - у меня есть большое количество настроек системы (включая регистрацию новых файлов и прочее), однако я понял, что есть немногопроблема - я не уверен, как на самом деле получить его, чтобы пользователи могли загружать и скачивать файлы.Я предполагаю, что мне понадобится какой-нибудь атрибут file_link для моего файлового объекта, но как люди будут загружать и скачивать файлы на / с сервера?

Также (это может быть немного другая тема) - но какЯ получаю информацию о файле, такую ​​как размер файла и имя (как они мне нужны для загрузки)?

Извините за все мои вопросы - я не особо разбираюсь в обработке файлов, поэтому я новичок вобласть.

Заранее спасибо,

С уважением,

Джо

Ответы [ 3 ]

3 голосов
/ 10 февраля 2011

Вам стоит взглянуть на скрепку Gem https://github.com/thoughtbot/paperclip

Это очень удобно и позволяет загружать файлы.

1 голос
/ 20 ноября 2011

Как они сказали, посмотрите на скрепку. Я только что сделал приложение, которое позволяет пользователям загружать и удалять файлы. Для начала работы со скрепкой используйте http://railscasts.com/episodes/134-paperclip

Для загрузки файлов после загрузки их с помощью скрепки. Я сделал следующее в контроллере

def download
upload = Upload.find(params[:id])
send_file upload.uploaded.path,
            :filename => upload.uploaded_file_name,
            :type => upload.uploaded_content_type,
            :disposition => 'attachment'
flash[:notice] = "Your file has been downloaded"

конец

Должно помочь мое примерное приложение для загрузки файлов https://github.com/skillachie/File-Upload-App Нужно исправить несколько вещей, но возможность загрузки и скачивания файлов полностью функциональна.

1 голос
/ 10 февраля 2011

Посмотрите на Скрепку.Это делает много тяжелой атлетики для вас: https://github.com/thoughtbot/paperclip

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...