请问这种data: 64位的图片 如何转化,传给后端?

请问这种data: 64位的图片 如何转化,传给后端?

我们之前都是这样传的,但是这种data:64位的不知道怎么传了?

 let file = new FormData();

var img_file = files[0];

file.append('quotation_order_print_image',img_file);


回答:

async function base64ToFile(url){

return new Promise((resolver) => {

// 已知 base64 为图片 url,先加载它

const image = new Image();

image.src = url;

image.onload = () => {

// 把图片绘制到一个 canvas 上

const canvas = document.createElement('canvas');

const {width, height} = image;

canvas.width = width;

canvas.height = height;

const ctx = canvas.getContext('2d');

ctx.drawImage(image,0,0,width, height);

// canvas 转 blob

canvas.toBlob((blob) => {

// blob 转 File

const file = new File([blob], 'whatever.jpg', {type: 'image/png'});

resolver(file);

});

}

});

}

不过图片 type 信息全转为了 image/png

转念一想:data URL 毕竟也是 URL,那么可以直接 fetch 之:

async function base64ToFile(url = ""){

const blob = await (await fetch(url)).blob();

return new File([blob], "whatever");

}


回答:

本质上就是一个很长的字符串,就像传其他的字符串一样作为一个属性的值传过去就行了

以上是 请问这种data: 64位的图片 如何转化,传给后端? 的全部内容, 来源链接: utcz.com/p/933666.html

回到顶部