2013-08-25 43 views
0

上傳文件,我在我的Flex應用程序下面的代碼:使用Flex

 protected function btn_select_image_clickHandler(event:MouseEvent):void { 
      fileRef.addEventListener(Event.SELECT, Image_Select); 
      fileRef.addEventListener(Event.COMPLETE, completeHandler); 
      fileRef.browse(UploadFilter); 
     } 
     private function Image_Select(e:Event) : void { 

      var fileSize:Number = Math.round(fileRef.size/1024); 

      if (fileSize <= 500) { 

       var request:URLRequest = new URLRequest("http://gestor.domain.com/upload_image.php"); 
       try { 
        fileRef.upload(request); 
       } catch(error:Error) { 
        Alert.show("Error loading image.", "Error"); 
       } 

      } else { 
       Alert.show("Image higher than 500Kb.", "Warning"); 
      } 
     } 

     private function completeHandler(e:Event) : void { 

      var file:FileReference = FileReference(e.target); 
      Alert.show("Data returned: "+file.data); 
      if (file.data != null) { 
       _filerefUploadMode = false; 
       fileRef.load(); 
      } 

     } 

php文件只能隨聲附和的字符串顯示時compleHandler觸發。

事實是,file.data只返回null,我不知道發生了什麼。

我有遺失嗎?

回答

0

首先添加此導入:

import flash.events.DataEvent; 

然後加入這個監聽器:

fileRef.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, uploadCompleteHandler); 

然後使用一個處理程序是這樣的:

private function uploadCompleteHandler(e:DataEvent) : void 
{ 
    trace (e.data); 
}