JS 图片转为base64,base64编码转化为图片

409 阅读1分钟

好几个月前做毕设,有个部分涉及到把用户上传的图片存储到数据库中,我就想把图片转为base64编码,需要显示的时候再反编码显示出来。具体实现的时候也折磨我一两天才实现。记录一下。

图片转化为base64编码

设置<input>标签的type=file

let reader = new FildReader() 
reader.onload = (e) => { 
    e.target.result.split(',').pop() 
    // 拿到base64编码 // 
    e.target.result的格式为'data:application/octet-stream;base64,需要的base64     编码' 
} 
let imgFile = document.querySelector('input')
imgFile.addEventListener('change', function(e){
    reader.readAsDataURL(e.target.files[0])
})

base64编码转化为图片

从数据库获取到图片的base64编码,需要将base64转化为blob对象,借助base64toBlob(base64编码)方法,获得blob对象。

将blob对象显示在img标签中,借助URL.createObjectURL(blob对象)即可

URL.createObjectURL(base64toBlob(base64编码))