如何使用Ruby将Blob数据写入文件?

7
我正在尝试从一个非常糟糕的云服务器下载我们所有的信息。这些文件是图像和PDF格式的。我的问题是,我不知道如何将从云API中通过read_object调用收到的blob数据写入到本地文件系统上的文件中。
我知道可以使用ImageMagick / RMagick从blob创建图像,但我宁愿跳过此步骤并直接将数据写入文件。我不想担心是否编译了每个解码委托的ImageMagick。
我在谷歌上没有找到太多关于这方面的信息,这是Ruby中不经常做的事情吗?

1
我认为你需要在打开文件时使用二进制写入模式 b,然后直接向其中写入内容。不过我不能百分之百确定。具体可以参考IO文档。 - Daniël Knippers
1个回答

10

假设文件不存在或您想要覆盖其当前内容,您只需要使用模式wbw表示写入,b表示二进制——在所有系统上可能不严格需要b)。如果您要附加到文件,请改用ab。有关模式的更多信息,请参见此页面

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接