2013-08-25 4 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(); 
      } 

     } 

Файл, только эхо строку, которая будет отображаться при 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); 
} 
Смежные вопросы