基于JavaScript获取base64图片大小
更新时间:2019年10月18日 17:01:42 作者:Michelyuan
这篇文章主要介绍了基于JavaScript获取base64图片大小,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
base64原理
Base64编码要求把3个8位字节(38=24)转化为4个6位的字节(46=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用'=',因此编码后输出的文本末尾可能会出现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图片的字符串。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
微信小程序 免费SSL证书https、TLS版本问题的解决办法
这篇文章主要介绍了微信小程序 免费SSL证书https、TLS版本问题的解决办法的相关资料,需要的朋友可以参考下2016-12-12
JavaScript 运行机制详解再浅谈Event Loop
这篇文章主要介绍了JavaScript 运行机制详解及浅谈了Event Loop,感兴趣的小伙伴可以和小编一起阅读下面文章的具体内容2021-09-09


最新评论