2015-05-01 2 views
0

Я успешно внедрил систему аутентификации с использованием драгоценных камней OAuth для Facebook и Twitter в приложении Rails 4.Rails OAuth Profile Picture Definition

Одна из основных причин, по которой я хотел использовать проверку подлинности в социальных сетях, заключалась в том, чтобы захватить их фотографии профиля, не загружая ничего. Я также успешно реализовал эту функцию, захватив изображение из хэш-информации, возвращаемой OAuth, за исключением того, что возвращенный образ является копией очень низкого качества. Например, мое изображение профиля на моей учетной записи twitter составляет приблизительно 400x400 пикселей, но тот, который возвращается хешем OAuth, представляет собой изображение размером 20x20 пикселей и выглядит ужасно даже в виде маленькой иконки. Кто-нибудь знает параметр конфигурации или что-то, что позволило бы мне получить исходное изображение, а не минимизировать его? Спасибо!

ответ

0

Для обработки и интерпретации изображений и фотографий вам необходимо установить и использовать ImageMagick и RMagick gem. Вы сможете масштабировать, изменять размер и преобразовывать изображения среди других.

Хорошо Tuto:

http://ruby.bastardsbook.com/chapters/image-manipulation/

ИЛИ

Не рекомендуется:

В App я сделал (для обучения) Я изображения, сохраненные в моей БД напрямую так что я мог бы использовать любой класс css, чтобы отображать их так, как я хотел.

Мой контроллер было так:

def _show_image 
    send_data(Base64.decode64(@food.image.data), :type => @food.image.mime_type, :filename => @food.image.filename, :disposition => 'inline') 
    end 

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

<%=image_tag(url_for(:controller => 'foods', :action => '_show_image'), class: "pad-bot1 img-circle") %> 
+0

Так что я согласен, что это будет работать, если у меня было более крупный файл изображения, и я хотел его уменьшить. Чтобы попытаться прояснить, проблема, которую я испытываю, заключается в том, что сам файл, который возвращается, слишком мал. Например, при использовании API-интерфейса facebook вы можете задать строку запроса: type = large и вернуть полноразмерное изображение, тогда как по умолчанию без строки запроса будет отображаться 20х20-пиксельное изображение, которое у меня есть. Мне нужно знать, как получить этот «тип: большой» образ через драгоценный камень OAuth. –

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