gpt4 book ai didi

ruby-on-rails - 如何在 Rails 中使用 mini_magick 解码 base64 图像文件?

转载 作者:行者123 更新时间:2023-12-04 16:33:55 24 4
gpt4 key购买 nike

在我们的 Rails 4 应用程序中,图像以 base64 字符串上传到服务器:

uploaded_io = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2....."

我们想检索内容类型、大小等,并将文件保存为文件系统上的图像文件。有一个 gem 'mini_magick'在我们的应用程序中。有没有办法用 mini_magick 处理 base64 图像字符串?

最佳答案

是的,有办法做到这一点。

剥离元数据 "data:image/jpeg;base64,"从您的输入字符串中提取,然后使用 Base64.decode64 对其进行解码方法。你会得到二进制 blob。将该 Blob 喂给 MiniMagick::Image.read . ImageMagick 足够聪明,可以为您猜测所有元数据。然后用 mini_magick 处理图像方法如常。

require 'base64'

uploaded_io = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2....."
metadata = "data:image/jpeg;base64,"
base64_string = uploaded_io[metadata.size..-1]
blob = Base64.decode64(base64_string)
image = MiniMagick::Image.read(blob)
image.write 'image.jpeg'

# Retrieve attributes
image.type # "JPEG"
image.mime_type # "image/jpeg"
image.size # 458763
image.width # 640
image.height # 480
image.dimensions # [640, 480]

# Save in other format
image.format 'png'
image.write 'image.png'

关于ruby-on-rails - 如何在 Rails 中使用 mini_magick 解码 base64 图像文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33728194/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com