这里用的是IVIEW ui库的upload的控件,ui库的用法都差不多,只是入参名称有差异,读取svg和图片的方法是一样的
//使用场景:svg图需要存入数据库是(转完以后base64的大小会比svg大很多)
beforeUpload(file){
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = e =>{
const baesCode = e.target.result;
return baseCode;
}
}
如何将base64转回svg
//使用场景:从api动态获取到svg的base64码,且需要动态更改svg的颜色,否则,直接用base64码就好了
baseCodeToSVG(baseCode){
if(baseCode){
//去除 data:image/svg+xml;base64,
let encoded = baseCode.substring(26);
let decoded = atob(encoded);
return decoded;
//decoded:<svg><path>...</path></svg>
}
}