如何提交html5 canvas作为表单帖子的一部分?

时间:2012-07-29 09:29:36

标签: javascript html5 node.js canvas stream

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

1 个答案:

答案 0 :(得分:7)

您可以使用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");

画布方法.toBlobspecified但未实现,您可以使用polyfill 例如canvas-to-blob.js