我想使用rmagick将图像写入文件。以下是我的代码:
我还尝试使用
im = "base64encodedstring"
image = Magick::Image.from_blob(Base64.decode64(im)
image[0].format = "jpeg"
name ="something_temp"
path = "/somepath/" + name
File.open(path, "wb") { |f|
f.write(image[0])
}
我还尝试使用
f.write(image)
。但是写入文件的内容是#<Magick::Image:0x7eff0587f838>
。这是什么原因?
File.write
,它期望一个String
- 它将提供的对象转换为字符串(我认为这是通过.to_s
完成的),不能可靠地用于存储除String
类型以外的对象数据。有很多存储二进制数据的方法 - 在RMagick
的情况下,一种方法是使用提供的read
和write
方法。 - Neil Slater