【问题标题】:Rails OAuth Profile Picture DefinitionRails OAuth 配置文件图片定义
【发布时间】:2015-07-11 02:54:06
【问题描述】:

我已经在我的 Rails 4 应用程序中使用 Facebook 和 Twitter 的 OAuth gems 成功实现了一个身份验证系统。

我想使用社交媒体身份验证的主要原因之一是无需让用户上传任何内容即可获取他们的个人资料图片。通过从 OAuth 返回的信息哈希中抓取图像,我也成功实现了此功能,但返回的图像是质量非常低的副本。例如,我在 Twitter 帐户上的个人资料图片大约为 400x400 像素,但 OAuth 哈希返回的图片是 20x20 像素的图片,即使是一个小图标也看起来很糟糕。有谁知道配置选项或可以让我接收原始图片而不是最小化图片的东西?谢谢!

【问题讨论】:

    标签: ruby-on-rails ruby oauth twitter-oauth facebook-oauth


    【解决方案1】:

    您需要安装和使用 ImageMagick 和 RMagick gem 来处理和解释图像和照片。您将能够缩放、调整大小和变换图片等。

    好教程:

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

    不推荐:

    在我完成的一个应用程序中(用于学习),我将图像直接保存在我的数据库中,以便我可以应用任何 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") %>
    

    【讨论】:

    • 所以我同意如果我有一个更大的图像文件并且我想减少它,那会起作用。为了尝试澄清,我遇到的问题是返回的文件本身太小。例如,当使用 facebook graph API 时,您可以提供一个查询字符串 ?type=large 并返回一个全尺寸图像,而没有查询字符串的默认值是我目前拥有的 20x20 像素图像。我需要知道如何通过 OAuth gem 获取这个“type: large”图像。
    猜你喜欢
    • 2011-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多