从base64数据创建图像文件

时间:2017-04-06 07:33:45

标签: ruby base64 jpeg binmode

我有base64编码的图像数据。我正在粘贴前几个字符

string='data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD     /2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopG   R8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgo......'

我在ruby中正在关注它

decoded_string=Base64.decode64 string
output_file = Tempfile.new(['image','.jpeg'])
output_file.binmode
output_file.write image 

此后当我打开' image.jpeg'时,它给出了错误

Error interpreting JPEG image file (Not a JPEG file: starts with 0x75 0xab)

我也试过

File.open('a.jpeg', 'wb') do|f|
   f.write decoded_string
end 

在这种情况下,我也遇到了同样的错误。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

File.open('shipping_label.gif', 'wb') do|f|
  f.write(Base64.decode64(base_64_encoded_data))
end

此答案来自:How to save a base64 string as an image using ruby