2010-07-03 57 views
0

這裏是我以前發佈的BitmapData到服務器端的代碼(PHP):爲什麼bitmapdata沒有通過flash發佈到服務器端?

private function savePicToServer(bmpData:BitmapData):void 
{ 
    trace("in savePicToServer"); 
    trace(bmpData); 
    var jpgEncoder:JPGEncoder = new JPGEncoder(85); 
    var jpgStream:ByteArray = jpgEncoder.encode(bmpData); 

    var loader:URLLoader = new URLLoader(); 

    var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream"); 
    var request:URLRequest = new URLRequest("http://localhost/test.php"); 
    request.requestHeaders.push(header); 
    request.method = URLRequestMethod.POST; 
    request.data = jpgStream; 
    loader.load(request); 
    trace("finish savePicToServer"); 
} 

這裏是在服務器端代碼:

file_put_contents('data.txt',var_export($_POST) . var_export($_FILES) . "\r\n" . $_SERVER['REMOTE_ADDR']); 

data.txt只有這個:

127.0.0.1 

最後trace的輸出是:

in savePicToServer 
[object BitmapData] 
finish savePicToServer 

我的代碼出現了什麼問題?

+0

忘了提及,我在'as3corelib'中使用了'JPGEncoder',這個答案的幫助:http://stackoverflow.com/questions/3167636/which-package-do-i-need-to-import - 使用jpgencoder在閃光燈 – ieplugin 2010-07-03 00:41:52

回答

0

你試過$HTTP_RAW_POST_DATA

+0

哇,它的工作原理! @ back2dos,你能解釋爲什麼'$ _POST'和'$ _FILES'在這裏不起作用嗎? – ieplugin 2010-07-03 13:45:50

+0

@ieplugin:'$ _POST'是一個數組,它包含了每個帖子發送的所有參數,'$ _FILES'是一個包含所有上傳文件的數組。你會得到這個使用'flash.net.FileReference :: upload'。但是,在這種情況下,內容將作爲純文本內容上傳。 – back2dos 2010-07-03 18:03:29

相關問題