2012-05-21 43 views
0

我目前正在處理的一個Flash項目需要我拍攝一系列舞臺截圖並將這些截圖上傳到服務器。我寫了下面粘貼的AS3代碼,將截圖(轉換爲jpegs)發送到php處理腳本(imageprocess.php)。JavaScript與Flash(AS3)圖片上傳器,ExternalInterface.call

for (var i:int=0; i<sourceArray.length; i++) 
    { 
    var jpgEncoder:JPGEncoder = new JPGEncoder(10); 
    var jpgStream:ByteArray = jpgEncoder.encode(sourceArray[i]); 
    var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");  
    var jpgURLRequest:URLRequest = new URLRequest("imageprocess.php?name=drawing" + i +".jpg"); 
    jpgURLRequest.requestHeaders.push(header); 
    jpgURLRequest.method = URLRequestMethod.POST; 
    jpgURLRequest.data = jpgStream; 
    navigateToURL(jpgURLRequest, "_blank"); //switch to ExternalInterface.call("someJS") 
    } 

不幸的是,我發現的navigateToUrl只能每幀函數一次(http://www.actionscript.org/forums/showthread.php3?t=250594)。它看起來像我將不得不使用ExternalInterface.call加上一些Javascript上傳多個屏幕截圖,但我不知道這個Javascript代碼是什麼樣子。會有人提供一些示例JS,可以把我轉換的每個截圖發送到一個PHP文件嗎?我真的很感激任何和所有的建議。

回答

0

您不必使用JavaScript等上傳圖片,爲什麼不創建JavaScript函數以在瀏覽器中打開新鏈接(如彈出窗口)? navigateToURL函數的副本,但然後在JavaScript中?這將是一個更快的解決方案,我想?用JavaScript打開窗口,閱讀this鏈接。