首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails Facebook avatar to data-uri

Rails Facebook avatar to data-uri
EN

Stack Overflow用户
提问于 2012-08-23 14:57:46
回答 2查看 409关注 0票数 2

我正试图通过auth找到一个脸书头像。我正在做的事情是:

代码语言:javascript
复制
def image_uri
  require 'net/http'
  image = URI.parse(params[:image]) # https://graph.facebook.com/565515262/picture
  fetch = Net::HTTP.get_response(image)
  based = 'data:image/jpg;base64,' << Base64.encode64(fetch)
  render :text => based
end

我得到以下错误(新的错误编辑):

代码语言:javascript
复制
Connection reset by peer

我在谷歌上搜索过,我似乎找不到解决办法,有什么想法吗?

我基本上是在寻找file_get_contents()的确切功能

EN

回答 2

Stack Overflow用户

发布于 2012-08-23 15:08:26

在解析之前尝试转义URI:

URI.parse URI.escape(params[:image])

确保params[:image]包含要解析的uri .相反,我将传递userid并将其插入uri中。

URI.parse URI.escape("https://graph.facebook.com/#{params[:image]}/picture)"

票数 1
EN

Stack Overflow用户

发布于 2012-08-23 15:13:11

  1. 当使用静态字符串"https://graph.facebook.com/565515262/picture“时,会引发相同的错误吗?
  2. 当你做的时候,上面写着什么? 渲染:文本=>参数:图像
  3. 如果上述两种方法都没有回答您的问题,那么请尝试指定HTTPS的使用- uri = URI('path?query=string') Net::HTTP.start(uri.host,uri.port,:use_ssl => uri.scheme ==‘https’)

假设你在红宝石上< 1.9.3,你也必须

代码语言:javascript
复制
require 'net/https'

如果你在红宝石1.9.3,你不需要做任何事情。

编辑

如果您使用的是最新版本,则只需执行以下操作:

代码语言:javascript
复制
open(params[:image]) # http://graph.facebook.com/#{@user.facebook_id}/picture
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12094577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档