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>
です。これの理由は何ですか?
としてだけでなく、マレック答えを、あなたはファイル内の文字列を取得する理由*理由*がある - それを与えられたオブジェクトを文字列に変換します(これは '.to_s'を使っていると思います)。' String'型以外のオブジェクトデータを確実に格納するためには使用できません。バイナリデータを格納する方法はたくさんあります。たとえば、 'RMagick'の場合は、提供されている' read'メソッドと 'write'メソッドを使用する方法があります。 –