我正在尝试下载图像并将其显示在 rails 的视图中。
我之所以要下载它是因为网址包含一些我不太喜欢赠送的 api-keys。
到目前为止,我尝试过的解决方案如下:
#Model.rb file
def getUrlMethod
someUrlToAPNGfile = "whatever.png"
file = Tempfile.new(['imageprependname', '.png'], :encoding => "ascii-8bit")
file.write(open(data).read)
return "#{Rails.application.config.action_mailer.default_url_options[:host]}#{file.path}"
end
#This seems to be downloading the image just fine. However the url that is returned does not point to a legal place
在开发中,我得到了这张图片的 URL:localhost:3000/var/folders/18/94qgts592sq_yq45fnthpzxh0000gn/T/imageprependname20130827-97433-10esqxh.png
该图像链接没有指向任何有用的地方。
我对可能出错的理论是:
- 临时文件在用户请求之前被删除
- url指向错误的地方
- 该 url 不是路由文件中的合法路由
我目前不知道有任何方法可以解决其中任何一个问题。有什么帮助吗?
顺便说一句:我展示完图片后不需要存储它,因为它会从源头不断变化。