2010-02-05 4 views
1

Je tente de télécharger un fichier en utilisant FileRef et un script PHP. Le fichier télécharge et il renvoie définitivement une chaîne de test (je peux la voir avec un débogueur web) .. mais je ne peux pas saisir cette chaîne dans mon application flexible. J'utilise un écouteur DataEvent et un écouteur COMPLETE. Toujours pas de résultat.Flex Fileref ... ne pas recevoir le résultat de retour

Qu'est-ce que je fais mal ici?

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

Je ne sais pas mais je voudrais savoir. Nous avons eu ce problème en utilisant un composant ColdFusion auparavant. Nous avons travaillé autour d'elle en faisant le téléchargement de fichier complètement dans un navigateur dans un iframe de l'application flexible, a sorti le lecteur flash de l'équation. – invertedSpear

Répondre

0

Votre problème est que les événements ne sont pas tirés, ou ce champ data est vide lorsque les événements sont déclenchés?

Si le premier, le serveur renvoie le code HTTP 200? C'est la seule spécification directe que je vois dans les docs FileReference.

Dans ce dernier cas, je ne pense pas qu'il est prévu pour le champ de données à population sur un upload() appel:

données: ByteArray [lecture seule]

L'objet ByteArray représentant les données du fichier chargé après un appel réussi à la méthode load().


Edit:

Est-ce que le FileReference hors de portée avant que l'appel est terminé - qui annule la transaction de la fin de Flash (si l'appel peut encore complet sur la fin du web) .

Comment appellez-vous FileReference.upload()? Je suppose que ce n'est pas le problème si votre débogueur Web montre le succès, mais il peut être intéressant.

+0

les événements ne sont pas déclenchés du tout. Même une simple trace ne tire pas sur l'événement. – Brent

0

Voilà comment je vais appeler le téléchargement de fichiers:

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

Il ne faut pas sortir du champ d'application, il est dans le même mxml doc, mais peut-être que je me manque quelque chose.

+0

Peut-être que si vous éditiez la question principale avec un exemple complet (réduit à ce qui est nécessaire pour répliquer)? –

+0

Je l'ai compris, appelait simplement tout dans le mauvais ordre. Dès que j'ai mis les écouteurs d'événement après que le fichier a été sélectionné, cela a bien fonctionné. – Brent

Questions connexes