JavaScript - 将图像作为二进制数据发送到服务器

JavaScript - send image to server as binary data

我有一个图像对象

   var ctx = canvas.getContext('2d');
   ctx.drawImage(imageBitmap, 0, 0);
   var imgData=ctx.getImageData(0,0,W,H);

我现在如何使用 POST 方法将 imgData 作为二进制数据(或字符串)传递给服务器?

首先,你必须得到图像的字节数组。很简单:

let bytes = imgData.data

然后,向服务器发送字节。也很简单:

fetch('https://example.net/',{method: 'POST', body: bytes}).then((res) => ...)

但是,事实上,他们很少有服务器接收原始图像数据。现实中发送jpeg压缩、base64编码等处理后的数据