Ruby on rails 通过Foursquare API上传远程图像

Ruby on rails 通过Foursquare API上传远程图像,ruby-on-rails,foursquare,image-uploading,Ruby On Rails,Foursquare,Image Uploading,我正在尝试使用foursquare API(通过foursquare2 gem)发布一张照片 根据他们的文档,我必须将:photo参数作为UploadIO(对象)传递 当我试图打电话时,我得到一个“没有这样的文件或目录错误” 请注意,我尝试上载的文件是远程的(在S3上),而不是在我的服务器上。我在这里遗漏了什么?我通过在图像路径周围添加一个open调用使其正常工作: foursquare.add_photo(:checkinId => XXX, :photo => Faraday:

我正在尝试使用foursquare API(通过foursquare2 gem)发布一张照片

根据他们的文档,我必须将:photo参数作为UploadIO(对象)传递

当我试图打电话时,我得到一个“没有这样的文件或目录错误”


请注意,我尝试上载的文件是远程的(在S3上),而不是在我的服务器上。我在这里遗漏了什么?

我通过在图像路径周围添加一个
open
调用使其正常工作:

foursquare.add_photo(:checkinId => XXX, :photo => Faraday::UploadIO.new(open("http://dagh1lffffqbm.cloudfront.net/1372702207.733335_13939.jpg"), 'image/jpeg'))
现在我不确定这是否是最有效的方法。我怀疑这实际上是在将S3文件发送到foursquare之前将其下载到我的服务器上。也许这是唯一的办法

foursquare.add_photo(:checkinId => XXX, :photo => Faraday::UploadIO.new(open("http://dagh1lffffqbm.cloudfront.net/1372702207.733335_13939.jpg"), 'image/jpeg'))