需求:
使用插件ejsexcel導(dǎo)出表格只锭,需要將后臺返回的base64格式的圖片導(dǎo)出到excel中闭专。
解決:
1拨扶、看了一下ejsExcel在github上的README.md鸽捻,沒有發(fā)現(xiàn)圖片的相關(guān)說明呼巴。
2、下載了整個項目運行發(fā)現(xiàn)例子里面確實有導(dǎo)出圖片御蒲,但是是根據(jù)圖片相對路徑導(dǎo)出的衣赶,并不能解決我的問題。
3厚满、抱著嘗試的心態(tài)府瞄,根據(jù)github上的聯(lián)系方式聯(lián)系上了開發(fā)者,非常感謝ejsExcel開發(fā)者sail耐心指導(dǎo)痰滋。
4摘能、模板excel中的圖片標(biāo)簽
<%img({imgPh:data[0][0].img,cNvPrName:"圖片名稱(可不填)",cNvPrDescr:"圖片描述(可填)",cellNumAdd:10,rowNumAdd:10})%>
imgPh可以是路徑也可以是buffer對象
5、研究將base64編碼轉(zhuǎn)為buffer對象
6敲街、廢棄方法Node.js v6
const buf=new Buffer(str,'base64')
其中str為圖片的base64編碼后的字符串
第二個參數(shù)是str的編碼格式
還可以將以下編碼格式的數(shù)據(jù)轉(zhuǎn)為buffer
但是 new Buffer()分配的內(nèi)存沒有初始化团搞,有可能包含敏感數(shù)據(jù)
Node8.00新的方式
const buf=Buffer.from(str,'base64')
參數(shù)解釋同上
Node.js還是支持以下字符編碼