2010-02-05 74 views
1

我試圖使用FileRef和php腳本上傳文件。文件上傳,它肯定會返回一個測試字符串(我可以看到它與網絡調試器)..但我不能抓住我的Flex應用程序中的字符串。我正在使用DataEvent偵聽器和COMPLETE偵聽器。仍然沒有結果。Flex Fileref ...沒有收到返回結果

我在這裏做錯了什麼?

fileRef.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, onFileResponse); 
fileRef.addEventListener(Event.COMPLETE, fileRef_complete); 

private function fileRef_complete(evt:Event):void{ 

    trace("COMPLETE"); 
    trace(evt.target.data); 

    } 

private function onFileResponse(event:DataEvent) 
    { 
    message.text = "HELLO"; 
    trace("UPLOAD COMPLETE = " + event.data); 


    } 
+0

不知道,但我想知道。我們以前使用ColdFusion組件時遇到了這個問題。我們通過在flex應用程序的iframe中的瀏覽器中完全上傳文件來解決此問題,並將Flash Player帶出了這個等式。 – invertedSpear 2010-02-05 20:05:07

回答

0

是您的問題,該事件不會被解僱,或者當激發事件data字段爲空?

如果前者,服務器是否返回HTTP代碼200?這是我在FileReference文檔中看到的唯一直接規範。

如果是後者,我不認爲它的預期數據字段上的上傳來填充()調用:

數據:的ByteArray [只讀]​​

的ByteArray對象代表 成功調用load()方法後來自加載文件的 數據。


編輯:

是否FileReference超出範圍的調用之前完成 - 將從Flash最終取消交易(雖然該呼叫可以在網絡上最終仍然完整) 。

你打電話給FileReference.upload()?我認爲這不是問題,如果您的網絡調試器顯示成功,但它可能是有趣的。

+0

事件並未被解僱。即使是一個簡單的痕跡也不會觸發事件。 – Brent 2010-02-05 21:53:15

0

這是如何我調用文件上傳:

fileRef.upload(urlReq, "Filedata", false); 

它不應該走出去的範圍,這是在同一個MXML文件,但也許我失去了一些東西。

+0

也許如果你用一個完整的例子來編輯主要問題(剝離到需要複製的東西)? – 2010-02-06 01:28:00

+0

我明白了,只是以錯誤的順序調用所有東西。只要我選擇文件後,將事件監聽器放在一起,那麼它工作正常。 – Brent 2010-02-09 16:35:37