如何提交HTML5canvas作为表单发布的一部分?

我正在寻找stream图像数据从一个canvas标签到一个node.js服务器。 我可以自己处理服务器端代码,但是如何从canvas提交数据呢? 我希望能够提供一个涉及多部分表单数据的build议,因为我想要传输数据,因为我期待50 MB左右的图像。 如果我试图一次性发布数据,它往往会崩溃客户端的浏览器。

你可以使用FormData来模拟一个正常的"multipart/form-data"文件提交:

 canvas.toBlob( function(blob) { var formData = new FormData(); formData.append("image_file", blob ); var xhr = new XMLHttpRequest; xhr.open( "POST", "abc.php" ); xhr.send(formData); }, "image/png"); 

canvas方法.toBlob是指定的,但没有实现,你可以使用一个polyfill,比如canvas-to-blob.js