use*_*363 5 ruby-on-rails imagemagick minimagick
在我们的Rails 4应用程序中,图像以base64字符串上传到服务器:
uploaded_io = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2....."
Run Code Online (Sandbox Code Playgroud)
我们想要检索内容类型,大小等,并将文件保存为文件系统上的图像文件.gem 'mini_magick'在我们的应用程序中有一个.有没有办法处理base64图像字符串mini_magick?
yea*_*yer 16
是的,有办法做到这一点.
"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'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3026 次 |
| 最近记录: |