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