前言:
最近项目中遇到,从设备采集的图片文件是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,转为文件对象,再添加请求头需要信息,穿给后端。这个方法是参考网上的,初步只是会用,下面我们对这个方法的详细实现分