2012-01-16 122 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

相關問題