当用户通过 Facebook 登录时,我想使用 Facebook 个人资料图片作为我网站的个人资料图片。我正在使用omniauth gem 进行Facebook 登录。登录后,omniauth 以哈希的形式向 Facebook 响应,如下所示:
{
"user_info" => {
"last_name" => "..........",
"image" => "http://graph.facebook.com/100002356868026/picture?type=square",
"first_name" => "........",
"email" => "xxxxx@xxx.xxx"
},
"uid" => "..........."
}
在这里,我可以使用访问图像 urlrequest.omniauth["user_info"]["image"]
并可以使用保存它
require 'open-uri'
image_url = request.omniauth["user_info"]["image"]
image_data = open(image_url).read
File.open("image.png", "wb") { |file| file << image_data }
我想从 url 获取图像名称。但是,Facebook url 不包含名称(它是一个链接,它重定向到另一个页面,其 url 包含图像名称)。如何从 url 解析图像名称?