6
我想使用rmagick將圖像寫入文件。下面給出的是我的代碼使用rmagick將圖像數據寫入ruby文件
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'方法。 –