Какой самый простой метод загрузки файлов Rails?

#ruby-on-rails

#ruby-on-rails

Вопрос:

Я просмотрел доступные параметры, и кажется, что все оптимизировано для загрузки изображений в качестве отображения. Мне просто нужна простая загрузка и извлечение файлов. Есть ли какие-нибудь хорошие варианты?

Ответ №1:

Скрепка — популярный выбор для загрузки и изменения размеров изображений, но с ее помощью можно загружать файлы любого типа (doc, zip, txt, pdf … что угодно). Настоятельно рекомендуется. https://github.com/thoughtbot/paperclip

Комментарии:

1. Вы получаете mu upvote 4 paperclip mate. Я никогда не говорил, что скрепка уродлива, новичкам 4 сложно отлаживать, что не так с их кодом при загрузке приложений в heroku.

Ответ №2:

Мне нравится carrierwave. Он имеет встроенную поддержку s3, не имеет обходного пути для настройки приложений на heeroku, в отличие от paperclip.

Комментарии:

1. Paperclip также имеет встроенную поддержку s3 … два ключа / значения в вашей модели… вряд ли это «обходной путь». :storage => :s3, :s3_credentials => '#{Rails.root}/config/s3.yml' .

2. Да, это так, но меня беспокоил обходной путь, связанный с загрузкой приложений на heroku

3. Какой обходной путь? Вы устанавливаете Paperclip на использование s3, и все готово.

4. Для изменения изображений вам нужны разрешения на запись, которые heroku не разрешает

5. Правильно, именно поэтому вы загружаете их в s3.

Ответ №3:

Я использую Carrierwave для своего и был доволен этим. Я просто загружаю общие файлы, а не конкретно изображения. Он прост в реализации и обладает хорошими расширенными функциями, если они вам понадобятся позже. Он также интегрируется с Fog, чтобы упростить использование удаленных источников хранения (например, файлов s3 или rackspace cloud).

Ответ №4:

Преимущества Carrierwave:

С carrierwave вложение представляет собой отдельную модель, а не атрибут существующей модели, что может упростить работу.

Он поставляется с возможностью прикрепления файла через URL (пользователь передает URL-адрес в файл) вместо загрузки с помощью формы).

Он содержит какой-то способ запоминания файлов при сбоях проверки формы, хотя я никогда этим не пользовался и не уверен, как это делается… может быть, с двумя формами и ajax?

Похоже, вокруг него более активное и восторженное сообщество, и больше проектов расширяют его.

Для S3 они используют fog вместо aws-s3, и fog имеет гораздо более активную разработку.

Тем не менее, paperclip довольно хорош и активно поддерживается, и я не уверен, что он может быть более удобным для работы с изображениями по умолчанию.