如何使用ruby将blob数据写入文件?

时间:2014-04-18 15:28:36

标签: ruby ruby-on-rails-3 blob

我试图从一个非常糟糕的云服务器上下载所有信息。文件是图像和PDF。我的问题是,我不知道如何将我通过此云API发出的read_object调用中收到的blob数据写入我本地文件系统中的文件。

我知道我可以使用ImageMagick / RMagick从blob创建图像,但我宁愿跳过这一步并将数据直接写入文件。我不想担心每次使用单个解码委托编译ImageMagick。

我真的没有在Google上看到太多关于此的信息,这是不是经常用Ruby做的事情?

1 个答案:

答案 0 :(得分:6)

假设文件不存在或您想要覆盖其当前内容,您只需要使用wb模式打开文件(w进行写入,b二进制 - b在所有系统上可能不是绝对必要的)。如果您尝试追加某个文件,请改用ab。有关模式的详细信息,请参阅this page

File.open(filename, 'wb') do |f|
  f.write blob
end