想在活动链接推广插件中加上弹幕功能,而一般弹幕都是有头像和文字的,所以就在琢磨这个头像怎么来的比较好呢,于是就去找了下有没有随机头像的API,发现还真有,不过API返回的是个svg矢量图格式的图像,所以就想着能不能转成base64?
有些朋友可能好奇为什么要转为base64呢?其实也是害怕API接口不稳定性,base64可以理解为直接把图像离线化了,也就是下载来了,那么稳定性这个问题也就不存在了。
那么问题来了,怎么把svg矢量图的转成base64呢,具体代码如下:
/** * svg解析成base64 * @param {*} svgEle * @returns string | boolean */ function svgToBase64(svgEle) { if (Object.prototype.toString.call(svgEle) === "[object SVGSVGElement]") { const svgStr = new XMLSerializer().serializeToString(svgEle); const base64 = `data:image/svg+xml;base64,${window.btoa(s)}`; return base64; } return false; }
其实,有是时候想了想,如果Javascript官方不提供相应的API,也就没有办法直接在浏览器上转了,所以我就是个搬砖的。