【数字图像处理】-图片的base64与file


一、base64

因为最近在做人脸识别,前端vue拍照,传给后端,所以了解了解有关图片的知识

百度百科是这么解释的:
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。采用Base64编码具有不可读性,需要解码后才能阅读。
个人理解,咱就是说,它就是一种编码格式而已,可以直接展示图片。
我这里在数据存了几个图片的base64格式

在这里插入图片描述
直接复制到浏览器,会有一个固定的前缀在
在这里插入图片描述

在这里插入图片描述在这里插入图片描述

二、file格式

自己拿了张图片,base64转file后如下
在这里插入图片描述

参数:
name,返回文件的文件名。
size,以字节(B)为单位返回文件的大小。
type,返回文件的MIME类型名。
lastModified,返回文件上一次修改的日期距离1970年1月1日的毫秒数。
lastModifiedDate,返回文件上一次修改的日期。
webkitRelativePath ,是只读属性,包含 USVString,它规定了文件的路径,相对于用户在 元素中选择的目录,这个元素设置了 webkitdirectory 属性。

获取到这个格式后,就可以传给我们后端来接收了,因为直接保存base64格式特别占内存。

三、base64转file

base64ToFile(urlData, fileName) {
    let arr = urlData.split(',');
    let mime = arr[0].match(/:(.*?);/)[1];
    let bytes = atob(arr[1]); // 解码base64
    let n = bytes.length
    let ia = new Uint8Array(n);
    while (n--) {
        ia[n] = bytes.charCodeAt(n);
    }
    return new File([ia], fileName, { type: mime });
},

四、file转base64

let reader = new FileReader();
reader.readAsDataURL(file.raw);
reader.onload = function(e){
  console.log(file.name);
  // console.log(this.result)//图片的base64数据
  that.result = this.result;
}

上面的方法拿去直接在前端用可以

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

森格的博

创作不易,感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值