Создание файла изображения из данных base64

У меня есть данные изображения в кодировке base64. Я вставляю первые несколько символов

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

Я делаю следующее в рубине

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 ответ

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

Этот ответ от: Как сохранить строку base64 как изображение, используя ruby

Другие вопросы по тегам