2010-07-03 148 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

相关问题