关于前端使用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图片的字符串。

原文地址:https://www.cnblogs.com/yuanchao-blog/p/11698364.html

时间: 2024-10-13 13:27:12

关于前端使用JavaScript获取base64图片大小的方法的相关文章

前端如何获取原始图片大小

前言 平常我们不太会关注图片流,都是拿来主义. 浏览器加载,图片显示在一个容器里面,展示给用户. 在网上冲浪了一会儿,发现完整的文章甚少,还是浪花太大蒙住了我的眼睛 需求 我想要知道图片原始尺寸,(而不是通过css设置 图片百分比显示 这是另外一种情况) 我需要把图片的原始尺寸保存起来.需要在上传本地图片的时候我们会接触到图片的原始尺寸大小 正文 首先了解 new Image() 创建一个图片示例 Image是一个浏览器的原生构造函数,返回一个HTMLImageElement对象的实例,即<im

Javascript 获取链接(url)参数的方法

qa项目可能需要客户端获取到url的参数,搜到一个很好的解决方法,记录在博客,省得以后找麻烦. 方法一:分解链接的方式 <script type="text/javascript"> /* * 说明:Javascript 获取链接(url)参数的方法 */ function getQueryString(name) { // 如果链接没有参数,或者链接中不存在我们要获取的参数,直接返回空 if(location.href.indexOf("?")==-1

ios 改变图片大小缩放方法

http://www.cnblogs.com/zhangdadi/archive/2012/11/17/2774919.html http://bbs.csdn.net/topics/390898581 ios 改变图片大小缩放方法 -(UIImage*) OriginImage:(UIImage *)image scaleToSize:(CGSize)size{    UIGraphicsBeginImageContext(size);  //size 为CGSize类型,即你所需要的图片尺寸

压缩图片大小的方法介绍

上传图片的时候我们会发现很多网站对图片大小的限制一般都是最大不超过20k,可能这是一个最佳的大小吧,既然规定了,就只能按照规定的大小进行上传,不过超过20k的图片那真的数不胜数了,遇到过大的图片只能进行大小的压缩,下面是压缩图片大小的方法介绍,不知道方法的话可以来学习一下!具体方法如下:图片压缩软件请添加链接描述可以压缩图片1:打开压缩软件,点击图片压缩就好. 2:添加要进行压缩的图片,点击添加文件或者添加文件夹的按钮就可以选择文件,一次可以同时压缩很多张图片.3:在添加文件下面有输出格式以及压

ios 判断相册文件图片大小的方法

获取ios相册图片文件大小,很多人,想到的就是取到文件图片的位置,然后通过NSdata来获取图片大小,殊不知,这样获取到的图片大小并非准确. 正确的方法应是在代理中实现 ALAssetsLibrary* alLibrary = [[ALAssetsLibrary alloc] init]; [alLibrary assetForURL:[info objectForKey:UIImagePickerControllerReferenceURL] resultBlock:^(ALAsset *as

MFC获取鼠标图片大小

获取当前鼠标图片的过程: 1. 首先获取当前HRCURSOR GetCursor() 2. 然后查询HCURSOR信息,获取对应的HBITMAP信息 GetIconInfo() 3. 查询HBITMAP的BITMAP信息 GetBitmap() HCURSOR hCursor = GetCursor(); if (hCursor) { ICONINFO cursorInfo; GetIconInfo(hCursor, &cursorInfo); CBitmap* pBmp = CBitmap::

获取imageview 图片大小

如题,ImageView在显示图片的时候,受限于屏幕大小,和图片宽高.通常图片是被缩放过,且不是宽和高都充满ImageView的. 此时,我们如何获得Image被实际绘制的宽高呢?如下: [java] view plaincopy final ImageView iv = (ImageView) findViewById(R.id.iv_test); iv.setImageResource(R.drawable.abc); //等待ImageVivew加载完成 iv.post(new Runna

javascript自动适应图片大小

博客来源 http://blog.csdn.net/eduxh/article/details/1906246 //图片自适应大小//id为img控件的id//width与height为img父控件的宽高——即img的最大宽高//示例:<img id="dd" src="ee.jpg"  />"function imgFit(id,width,height){    var imageArr=document.getElementById(id

【前端】JavaScript获取指定范围内的随机整数

1 function getRandomIntNumber(min, max) { 2 var span = max - min + 1; 3 var result = Math.floor(Math.random() * span + min); 4 return result; 5 }