[ js ] 图片与base64之间的互相转换
图片转base64
// 图片转base64 function imageToBase64(file) { return new Promise((resolve, reject) => { const fr = new FileReader() fr.readAsDataURL(file) fr.onload = () => { resolve(fr.result) } }) }
base64转图片, 参数为base64的字符串, 类似下面这种
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQU
function base64ToImage(base64, fileName = '新建文件') { const [mime, data] = base64.split(";base64,"); const byteCharacters = atob(data); const byteNumbers = new Array(byteCharacters.length); for (let i = 0; i < byteCharacters.length; i++) { byteNumbers[i] = byteCharacters.charCodeAt(i); } const byteArray = new Uint8Array(byteNumbers); const blob = new Blob([byteArray], { type: mime }); // // 转换为 File 对象 const file = new File([blob], `${fileName}.png`, { type: mime }); return file }
本想把生活活成一首诗, 时而优雅 , 时而豪放 , 结果活成了一首歌 , 时而不靠谱 , 时而不着调