2011-01-13 91 views
0

嗨我正在處理actionscript,從相機保存原始圖像,然後用save.php POST然後 我想save.php回顯變量是一個剛剛由save.php生成的文件名稱爲動作 請參閱以下行: var urlParameter:String =「images/test_01.php?img =」+「myfileURL」; navigateToURL(new URLRequest(urlParameter),「_blank」);如何通過Flash動作POST後POST的PHP實例

預先感謝

這是AS3代碼

function onSaveJPG(e:Event):void{ 
    var myEncoder:JPGEncoder = new JPGEncoder(100); 
    var byteArray:ByteArray = myEncoder.encode(bitmapData); 

    var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream"); 

    var saveJPG:URLRequest = new URLRequest("save.php"); 
    saveJPG.requestHeaders.push(header); 
    saveJPG.method = URLRequestMethod.POST; 
    saveJPG.data = byteArray; 

    var urlLoader:URLLoader = new URLLoader(); 
    urlLoader.addEventListener(Event.COMPLETE, sendComplete); 
    urlLoader.load(saveJPG); 

    function sendComplete(event:Event):void{ 
     warn.visible = true; 
     addChild(warn); 
     warn.addEventListener(MouseEvent.MOUSE_DOWN, warnDown); 
     warn.buttonMode = true; 
    } 


    function warnDown(e:MouseEvent):void{ 
     var urlParameter:String = "images/test_01.php?img=" + "myfileURL"; 
     navigateToURL(new URLRequest(urlParameter), "_blank"); 
     // navigateToURL(new URLRequest("images/"), "_blank"); 
     // +saveJPG:URLRequest 
     // navigateToURL(new URLRequest("images/test_01.php?img=+saveJPG:URLRequest"), "_blank"); 
     warn.visible = false; 
    } 

} // move onSave JPG 
} close to here instead of after sendComplete 

warn.visible = FALSE;

這是save.php

<?php 

如果(isset($ GLOBALS [ 「HTTP_RAW_POST_DATA」])){$ JPG = $ GLOBALS [ 「HTTP_RAW_POST_DATA」]; $ img = $ GET [「img」]; $ filename =「images/poza」。 mktime()。 「.JPG」; file_put_contents($ filename,$ jpg);

echo「thisPic =」。 $文件名; // echo $ filename;

} else { echo「未接收到編碼的JPEG信息。」; } ?>

回答

0

你的情況,你只是用mktime()爲文件名,並images/poza是硬編碼。您可以沿着來自閃存的jpeg數據發佈文件名,當調用onSaveJPG時,只需向用戶顯示文件名即可。

下面是如何發送file_name的示例。

var JPGFileName = YOUR TIME FUNCTION 
var saveJPG:URLRequest = new URLRequest("save.php?file_name=" + JPGFileName); 
saveJPG.requestHeaders.push(header); 
saveJPG.method = URLRequestMethod.POST; saveJPG.data = byteArray;