你如何在Ruby的文件系统的URL上写一个图像?

时间:2011-06-29 16:18:05

标签: ruby-on-rails ruby image ruby-on-rails-3 filesystems

如果公共网址上有图像,我如何使用Ruby编写并将其保存到本地文件系统?

1 个答案:

答案 0 :(得分:4)

require "open-uri"

open("http://www.whatever.com/x.png") do |hnd|
  File.open("x.png","wb") {|file| file.puts hnd.read }
end

编辑:

这允许您使用open来加载网站,并将其视为普通文件句柄:

require "open-uri"

这会加载您的图片,并将句柄传递给页面正文,作为参数hnd

open("http://www.whatever.com/x.png") do |hnd|

这将以二进制模式打开文件(在Windows系统上需要),并将页面内容写入其中:

File.open("x.png","wb") {|file| file.puts hnd.read }

内容是通过read方法获得的,该方法在写入之前尝试完全读取它。