基于JavaScript獲取base64圖片大小
base64原理
Base64編碼要求把3個8位字節(jié)(38=24)轉化為4個6位的字節(jié)(46=24),之后在6位的前面補兩個0,形成8位一個字節(jié)的形式。 如果剩下的字符不足3個字節(jié),則用0填充,輸出字符使用'=',因此編碼后輸出的文本末尾可能會出現(xiàn)1或2個'='
如何獲取base64圖片大小
通過base64編碼原理我們知道,base64的圖片字符流中的每8個字符就有兩個是用0補充,而且字符流的末尾還可能存在‘='號,我們可以通過這個原理計算圖片的文件流大小。
getImgByteSize(data) { if (data.graphicContents) { // 獲取base64圖片byte大小 const equalIndex = data.graphicContents.indexOf('='); // 獲取=號下標 if (equalIndex > 0) { const str = data.graphicContents.substring(0, equalIndex); // 去除=號 const strLength = str.length; const fileLength = strLength - (strLength / 8) * 2; // 真實的圖片byte大小 data.size = Math.floor(fileLength); // 向下取整 } else { const strLength = data.graphicContents.length; const fileLength = strLength - (strLength / 8) * 2; data.size = Math.floor(fileLength); // 向下取整 } } else { data.size = null; } }
data.graphicContents是后端獲取的base64圖片的字符串。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
微信小程序之MaterialDesign--input組件詳解
本篇文章主要介紹了微信小程序之MaterialDesign--input組件詳解,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-02-02JavaScript數(shù)組對象高階函數(shù)reduce的妙用詳解
這篇文章主要為大家介紹了JavaScript數(shù)組對象高階函數(shù)reduce的妙用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04