Uploadify 3.1 + Carrierwave + Rails 3.2.3
Что-то давненько я ничего не писал (-:
Сразу скажу, что полностью всё подробно описывать не буду: всё можете сами посмотреть в исходниках на Github-е. В данной статье я просто опишу некоторые моменты, которые были выявлены в процессе попыток заставить это всё работать друг с другом.
Во-первых, что касается Uploadify 3.1
- В новых версиях нет swfobject.js. Поэтому не стоит смотреть на реализацию на более ранних версиях — не будет работать.
- Файл uploadify.swf я разместил в /vendor/assets/javascript/ . Подключается это удовольствие следующим образом в настройках Uploadify: swf : ‘<%= asset_path(«uploadify.swf») %>’,
- Ещё я изменил несколько функцию onSelect самого файла jquery.uploadify-3.1.js, т.к. там по умолчанию обрезаются имена файлов, которые свыше 25 символов и заменяются на «…». Мне это как-то не понравилось: плохо работала подгрузка ajax-ом изображений после их отправки на сервер. Поэтому я увеличил длину имени файла до 100 символов. Кому надо, может ещё увеличить.
- У Вас должен быть установлен RMagick
- Чтобы Carrierwave корректно обрабатывал русские символы, а так другие служебные символу, например, пробел или двоеточие, необходимо в файл аплоадера добавить следующую строку: CarrierWave::SanitizedFile.sanitize_regexp = /[^a-zA-Zа-яА-ЯёЁ0-9\.\_\-\+\s\:]/
- Все загружаемые изображения обрезаются до размера 1024х768px, а превьюшка делается размером 100х100рх.
Ну и не много о рельсах. Тут как бы много нечего рассказывать. Единственное на что хочу обратить Ваше внимание — это на приватную функцию coerce в контроллере. Она осуществляет разбор параметров, которые передаёт Uploadify контроллеру перед добавлением картинки.
Ну вот, в общем-то, и всё.
Всем удачи (-:
Недавние записи
- Long time no see
- Ошибка при обновлении Meteor до версии 1.4.2
- Patch falcon для ruby-1.9.3-p327
- Ускоряем ruby и Rails
- Gem ‘seo_params’: определение основных параметров
- Отрицательный margin-top и Opera
- Rspec and Devise reset password
- Backbone.js: Views. Часть первая.
- Backbone.js: Models and Collections
- Backbone.js Routers
Июнь 14th, 2012 at 00:09
Загрузка через uploadify необычайно тормозит на рабочем сервере (Nginx+Passenger+Rails 3.1.1). Загрузка одной картинки может длиться минуты, после чего частенько вылетает ошибка мол, неуспешная загрузка. CarrierWave делает 3 вида картинки, но сервер вроде нормальный (1000Mhz).
Вы знаете какие-нибудь способы ускорить обработку картинки?
И как у вас проходит загрузка (быстро, часты ли ошибки итд)?
Июнь 14th, 2012 at 15:00
Думаю, что-то с настройками сервера…. Можете сами проверить, как оно работает: http://vivid-robot-2778.herokuapp.com/
Октябрь 14th, 2012 at 12:16
Спасибо тебе, добрый ты человек!