最近在做一个小项目,添加一个用户自定义头像,经过几次尝试, 后来发现 CropBox.js 在图片裁剪及数据展示上很不错, 功能流畅,在体验了几张自己上传的图片后, 一个新的问题出现了,我应该怎么把裁剪后的图片获取并保存, CropBox.js 会提供一个 crop.getDataUrl 数据流,格式为 "data:image/png;base64,iV..." 如果直接保存到数据库,会影响页面响应的速度,用户的头像实际只需要一个文件路径即可 不需要这样格式的问题,需要对这个数据流进行转换,还原回裁剪后的图片 转换方法:
data_url = 'data:image/png;base64,......'
png = Base64.decode64(data_url['data:image/png;base64,'.length .. -1])
File.open("test.png", 'wb') { |f| f.write(png) }
```
CropBox.js demo 飞机票 http://dwtedx.com/itshare_358.html