Aide - Recherche - Membres - Calendrier
Version complète : FileFilter — Fenêtre Fichier bloquée par FireFox
Centre de Formation Flash - Forums Adobe Flash > Adobe Flash > Gestion de données dynamiques
Mimura
Bonjour à tous,

Étant en train d'étudier le mode de fonctionnement de FileFilter, j'ai débuté quelques tests à partir de code proposé sur ce forum :


Action Script


var fileRefList:FileReferenceList = new FileReferenceList();
fileRefList.addEventListener(Event.SELECT, selectHandler);


var imagesFilter:FileFilter = new FileFilter("Images", "*.jpg;*.jpeg;*.gif;*.png");
fileRefList.browse([imagesFilter]);



function selectHandler(event:Event):void {

var request:URLRequest = new URLRequest("monSite.php");
var file:FileReference;
var files:FileReferenceList = FileReferenceList(event.target);
var selectedFileArray:Array = files.fileList;
for (var i:uint = 0; i < selectedFileArray.length; i++) {

file = FileReference(selectedFileArray[i]);
file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, completeHandler);
file.addEventListener(IOErrorEvent.IO_ERROR, ErrorHandler);
try {
file.upload(request);
} catch (error:Error) {
ttrace( "Problème d´upload" );
}
}
}

function completeHandler(event:DataEvent):void {
trace( "uploadé avec succès" );
}

function ErrorHandler( evt:IOErrorEvent ){
trace( evt.text );
}



Le code en lui-même fonctionne sous Flash sans problème.
Je lance la lecture, il ouvre la fenêtre "Parcourir Fichier" me permettant de sélectionner un fichier sur mon ordinateur. Ensuite il l'envoie à une page Php et voila, le reste est une autre histoire.


Le problème viens de la lecture à partir d'un Navigateur, plus précisément, avec FireFox.
Lorsque j'ai commencé à tester ce code à partir d'easyPhp sur FireFox, la fenêtre "Parcourir Fichier" n'apparaissait plus. Idem après l'avoir directement uploadé sur internet.

Après coup, j'ai testé sur Safari et IE7. Étrangement, Safari a le même problème et n'affiche pas la fenêtre, alors que IE7 y arrive sans problème.


J'aimerais savoir si vous avez déjà été confronté à ce problème et, si oui, comment avez-vous fait pour le régler.


Ma page de test se trouve ici.
Elle affiche juste "Returning!!!!" à la base par défaut, puis, une fois le fichier envoyé ( Si tenté que la fenêtre de Fichier s'ouvre ) le texte change pour afficher : "uploadé avec succès".


Merci de me répondre smile.gif
Rockrider
Ba écoute sur IE7 j'ai toujours "returning!!!" sans boite de dialogue...
Mimura
Étonnant, mais ça confirme bien mes soupçons comme quoi ce serait due aux configuration des navigateurs.

Tu ne l'as pas non plus sur Firefox je suppose. icon_confused.gif
Mimura
C'est bon, j'ai trouvé d'où venait le problème grâce à Cette source.

En fait, le FlashPlayer 10 bloque les appels de browse() des FileReference qui sont lancé sans "une demande implicite de l'utilisateur", autrement dit un appel clavier ou souris.

Donc, en gros, ceci ne marche pas :

Action Script


var fileRefList:FileReference = new FileReference();
fileRefList.browse();


Alors que ceci marche :

Action Script


stage.addEventListener( MouseEvent.MOUSE_DOWN , Launch );

function Launch( evt:MouseEvent ){
var fileRefList:FileReference = new FileReference();
fileRefList.browse();
}



Voila, il va donc falloir utiliser des astuces pour contourner le problèmes... icon_confused.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.