给定 javascript 中的画布,保存到后端服务器的正常工作流程如下:
- 创建画布元素
- 绘制/修改画布
- 调用 canvas.toDataURL()
- 将此画布的 base64 表示上传到您的后端服务器(基本 ajax)。
由于对 toDataURL() 的调用可能非常慢,我想知道是否可以直接将图像字节上传到后端服务器,而不是使用 toDataURL() 的 base64 方式。
有任何想法吗?
给定 javascript 中的画布,保存到后端服务器的正常工作流程如下:
由于对 toDataURL() 的调用可能非常慢,我想知道是否可以直接将图像字节上传到后端服务器,而不是使用 toDataURL() 的 base64 方式。
有任何想法吗?
使用返回 blob 或二进制对象的toBlob,而不是 toDataURL。您可以将结果直接发送到服务器。虽然通话是异步的
myCanvas.toBlob(function(myBlob) {
// send blob to server here!!
}, "image/jpeg", 0.5);
注意:较旧的 MS 不支持它,但请参阅顶部的链接以获取 shim。那里有更好的垫片。