下面的函数能将base664格式
用于已知bseae64 转File格式上传
求点赞!! 关注!! 收藏 !!
base64格式的图片不能直接上传到oss图片服务器的,需要转换成file文件流的形式上传;如果使用base64格式直接存储到数据库,由于base64格式图片文件比较大,会占用很大的数据 ,
下面使用bseae64 转File格式上传
亲测有效
//参数1为 dataurl为base64
//参数2为 name为自定义名称
const base64ToFile = (dataurl,name) => {
const arr = dataurl.split(','); const mime = arr[0].match(/:(.*?);/)[1];
const bstr = atob(arr[1]); let n = bstr.length;
const u8arr = new Uint8Array(n);
// eslint-disable-next-line no-plusplus
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
const suffix = mime.split('/');
return new File([u8arr], name, { type: mime });
};