将base64转换为文件
这是我在开发图片裁剪的时候找到的,图片裁剪出来的是base64格式的,传给后端的话太长了,只能在前端处理成文件对象再给后端,可以看我的 angular引入cropper做裁剪图片的功能这个文章
base64toFile
方法传入base
(64位编码的图片信息),filename
(转化的文件名),suffix
(转换的文件后缀,如:png/jpg…);
// 将base64转换为文件
/**
* @param base 64位编码的图片信息
* @param filename 文件名
* @param suffix 文件后缀
* @returns 文件对象
*/
base64toFile(base,filename, suffix) {
var arr = base.split(','),
mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]),
n = bstr.length,
u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new File([u8arr], filename + '.' + suffix, { type: mime });
}