2012-01-16 123 views
0

我想将画布数据作为图像发送到服务器端。我一直在做一个HTTP POST请求,但我无法在服务器端获取数据。 $ _POST是空的,但是当我在JS端控制同一个对象时,我得到了图像数据。通过HTML发布请求发送HTML5画布数据

这是JS侧

var XHR = new XMLHttpRequest(); 
var vvFD="image=" + JSON.stringify(document.getElementById('canvas').toDataURL("image/png")); 
console.log(vvFD); 
XHR.upload.addEventListener('progress', uploadProgress, false); 
XHR.addEventListener('load', uploadFinish, false); 
XHR.addEventListener('error', uploadError, false); 
XHR.addEventListener('abort', uploadAbort, false); 
XHR.open('POST', 'example_upload/upload1.php'); 
XHR.send(vvFD); 

和PHP一边是...

if(!empty($_POST)) 
    { 
    //do stuff 
    } 
    else 
    { 
    echo "_POST is empty"; 
    } 

我收到消息彦博是空的。

任何一个可以帮助这里

在此先感谢

回答

1

我不能完全确定你的JS是如何工作的,但我有一种感觉它的发送图像中的HTTP请求的主体部分。 $ _POST在服务器端不会选择它。

尝试:

$GLOBALS["HTTP_RAW_POST_DATA"]; 

有手动将输出从HTTP请求中的报头的示例。 apache_request_headers()

在这两个之间,你应该能够捕捉到你的php脚本的所有内容。

+0

谢谢,我刚刚通过搜索不同的论坛找到答案,我发现的答案与你类似,我也错过了上面提到的同样的东西。这里是我找到的答案的链接是http://www.worldofwebcraft.com/page.php?id=101&t=HTML5_use_php_and_ajax_to_save_canvas_as_png_on_your_server – 2012-01-18 19:22:29

相关问题