Rails 分享一下 Ruby 中 Base64 图片转换为 jpg 和把远程图片转换为 Base64 的图片格式

zqalyc · 发布于 2016年12月22日 · 352 次阅读
6878

api接口中,遇到了图片由base64的方式传输,因此了解了Tempfile,贴出来记录一下!

1.根据远程图片jpg/pngurl,转换为base64图片格式

def image_to_base64
    require 'open-uri'
    tempfile = open('http://ofkzuey9y.bkt.clouddn.com/bala-logo.png')
    image_base64 = Base64.encode64(File.read(tempfile))
    tempfile.close
  end

2.将图片的base64格式转换成jpg/png格式

def base64_to_image

    #注意: 要去掉base64_img 的base64的开头部分"data:image/png;base64,"
    img_base64 = "data:img/jpg;base64,iVBORw0KGgoAAAAN..."
    img_base64 = img_base64["data:img/jpg;base64,".length..-1]
    tempfile = Tempfile.new("1.jpg")
    tempfile.binmode
    tempfile.write(Base64.decode64(img_base64))
    path = tempfile.path #临时文件的路径
    tempfile.close
    return path
 end

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册