尝试open()
远程图像时,一些返回为StringIO
,另一些返回为File
......我该如何强制File
?
data = open("http://graph.facebook.com/61700024/picture?type=square")
=> #<StringIO:0x007fd09b013948>
data = open("http://28.media.tumblr.com/avatar_7ef57cb42cb0_64.png")
=> #<StringIO:0x007fd098bf9490>
data = open("http://25.media.tumblr.com/avatar_279ec8ee3427_64.png")
=> #<File:/var/folders/_z/bb18gdw52ns0x5r8z9f2ncj40000gn/T/open-uri20120229-9190-mn52fu>
我正在使用 Paperclip 保存远程图像(存储在 S3 中),所以基本上想做:
user = User.new
user.avatar = open(url)
user.save