对象base64转码_base64与文件对象相互转换深入浅出

本文详细介绍了如何将base64编码转换为文件对象,包括使用JavaScript的atob()函数解码,创建Uint8Array,构造File对象,以及通过FormData发送给后端。同时,还提供了一个将图像文件转换为Base64的方法。
摘要由CSDN通过智能技术生成

前言:

最近项目中遇到,从设备采集的图片文件是base64格式,需要转成文件对象,然后再在请求头中加入token信息,传给后端,便对base64转换为文件对象方法好好研究了下。

将base64转换为文件对象

/**

* @desc 将base64转换为文件对象

*/

dataURLtoFile(dataurl) {

const arr = `data:image/png;base64,${dataurl}`.split(',')

const mime = arr[0].match(/:(.*?);/)[1]

const bstr = atob(arr[1])

let n = bstr.length

const u8arr = new Uint8Array(n)

while (n--) {

u8arr[n] = bstr.charCodeAt(n)

}

let blob = new File([u8arr], 'file', { type: mime })

const params = new FormData()

params.append('file', blob)

return params

}

复制代码

其中dataurl为获取到的base64编码,通过dataURLtoFile,转为文件对象,再添加请求头需要信息,穿给后端。这个方法是参考网上的,初步只是会用,下面我们对这个方法的详细实现分

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值