0

Я использую Rails для создания веб-сайта, который позволяет пользователям загружать файлы документов с различными форматами файлов (pdf, doc, docx, ppt, pptx, xls, xlsx, png, jpg , jpeg) и сохраните их на aws S3. Я использую Carrierwave для прямой загрузки файлов на S3, и все работает хорошо. Загруженные файлы хорошо хранятся в S3.Создание эскизов предварительного просмотра изображений загруженных файлов на Rails

Но теперь я хочу отображать изображения предварительного просмотра (уменьшенные изображения) для загруженных файлов. Я пробовал несколько разных методов, манипулируя конфигурацией Carrierwave, но похоже, что создание эскизных изображений работает только с файлами PDF, а не с другими форматами файлов. Кто-нибудь, пожалуйста, дайте мне понять, как это сделать? Благодаря

ответ

0

Эта ссылка может помочь вам: http://guides.railsgirls.com/thumbnails

Я также нашел учебник, который говорит, что вы должны быть в состоянии раскомментировать код в файле image_uploader.

version :thumb do 
    process :resize_to_fill => [50, 50] 
end 

https://code.tutsplus.com/tutorials/rails-image-upload-using-carrierwave-in-a-rails-app--cms-25183

Смотрите, если любой из этих решений работы.

0

Вместо того чтобы создавать эскизы в приложении, вы могли бы рассмотреть возможность использования систем, которые могут создавать эскизы на лету, такие как:

0

Как писал Джон , для ваших изображений вы можете попытаться генерировать миниатюры «на лету» с помощью решения, например, библиотеки Cloud12's jQuery image upload. Это решение позволяет загружать изображения в облако. Загруженные изображения хранятся безопасно в облаке с защищенными резервными копиями и историей ревизий, используя службу S3 Amazon.

Библиотека jQuery от Cloudmin также позволяет создавать миниатюры на лету.

Вот пример кода, который создает эскиз загруженного изображения 150x100 и обновляет поле ввода с открытым идентификатором этого изображения.

$('.cloudinary-fileupload').bind('cloudinarydone', function(e, data) { 
$('.preview').html(
$.cloudinary.image(data.result.public_id, 
    { format: data.result.format, version: data.result.version, 
    crop: 'fill', width: 150, height: 100 }) 
);  
$('.image_public_id').val(data.result.public_id);  
return true; 
}); 

Здесь вы можете найти некоторые Ruby on Rails examples

Смежные вопросы