基于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图片的字符串。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 微信小程序getPhoneNumber获取用户手机号

    微信小程序getPhoneNumber获取用户手机号

    这篇文章主要介绍了 微信小程序getPhoneNumber获取用户手机号的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • 微信小程序 监听手势滑动切换页面实例详解

    微信小程序 监听手势滑动切换页面实例详解

    这篇文章主要介绍了微信小程序 监听手势滑动切换页面实例详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • 微信小程序之MaterialDesign--input组件详解

    微信小程序之MaterialDesign--input组件详解

    本篇文章主要介绍了微信小程序之MaterialDesign--input组件详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-02-02
  • 微信小程序 条件渲染详解

    微信小程序 条件渲染详解

    这篇文章主要介绍了微信小程序 条件渲染详解的相关资料,需要的朋友可以参考下
    2016-10-10
  • JavaScript数组对象高阶函数reduce的妙用详解

    JavaScript数组对象高阶函数reduce的妙用详解

    这篇文章主要为大家介绍了JavaScript数组对象高阶函数reduce的妙用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 微信小程序中的swiper组件详解

    微信小程序中的swiper组件详解

    这篇文章主要介绍了微信小程序中的swiper组件详解的相关资料,需要的朋友可以参考下
    2017-04-04
  • JS前端使用canvas实现物体的点选示例

    JS前端使用canvas实现物体的点选示例

    这篇文章主要为大家介绍了JS前端使用canvas实现物体的点选示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • 详解 TypeScript 枚举类型

    详解 TypeScript 枚举类型

    这篇文章主要介绍了TypeScript 枚举类型,TypeScript 在 ES 原有类型基础上加入枚举类型,使得在 TypeScript 中也可以给一组数值赋予名字,这样对开发者比较友好,可以理解枚举就是一个字典,文章内容围绕TypeScript 枚举类型展开内容,需要的朋友可以参考一下
    2021-10-10
  • 如何编写高质量 JavaScript 代码

    如何编写高质量 JavaScript 代码

    如果要编写出高质量的 JavaScript 代码,可以从以下三个方面去考虑。分别是:易阅读的代码、高性能的代码、健壮性的代码。下面我将分别对这三个方面进行阐述。需要的朋友可以参考一下
    2021-09-09
  • JavaScript小技巧带你提升你的代码技能

    JavaScript小技巧带你提升你的代码技能

    这篇文章主要介绍了JavaScript的提携小技巧,如:过滤唯一值、短路求值、转换Boolean型等等,想详情了解的小伙伴请参考下面文章的具体内容
    2021-09-09

最新评论