ActiveStorage 上传大型 base64 编码字符串? [英] ActiveStorage to upload large base64 encoded string?

查看:43
本文介绍了ActiveStorage 上传大型 base64 编码字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我有一个在客户端使用 JavaScript 编辑/生成的图像(例如,裁剪的照片或画布绘图的结果),是否可以使用 ActiveStorage 上传它?

If I have an image that was edited/generated using JavaScript on the client (for example, a cropped photo or the result of a canvas drawing), is there a way to upload it using ActiveStorage?

它通常是一个包含 "<img src='data:image/jpeg;base64,...=='>" 的大字符串,存储在 JavaScript 变量中,不是文件.

It would typically be a large string containing "<img src='data:image/jpeg;base64,...=='>" that is stored in a JavaScript variable, not a file.

推荐答案

你可以这样做:

decoded_data = Base64.decode64(params[:base64].split(',')[1])
resource.image = { 
  io: StringIO.new(decoded_data),
  content_type: 'image/jpeg',
  filename: 'image.jpg'
}

这篇关于ActiveStorage 上传大型 base64 编码字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆