Fonction browse et FileReference : variable remise à zéro

Résolu
cs_cd59 Messages postés 72 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 31 octobre 2011 - 17 sept. 2008 à 11:11
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 - 18 sept. 2008 à 18:43
Bonjour,
J'utilise la fonction "browse" pour ouvrir une fenêtre depuis Flash. Je choisi un SWF, ma variable "choixfichier" m'indique bien son nom et extension mais impossible d'ouvrir ce swf, et si je fais un "Play", ma variable "choixfichier" se réinitialize. Donc undefined.Quelqu'un a une idée ?
Merci.

import flash.net.FileReference;
var listener:Object = new Object();
listener.onSelect = function(file:FileReference):Void  {
     var choixfichier = String(file.name);
     trace("--------> "+choixfichier);
};
 
var fileRef:FileReference = new FileReference();
fileRef.addListener(listener);

browse_btn.onRelease = function() {
    fileRef.browse([{description: "Flash Annimation (*.swf)", extension: "*.swf", macType: "SWFL"}]);
};

5 réponses

cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
18 sept. 2008 à 18:43
Non, désolé mais cette fonctionnalité n'est PAS possible dans flash directement...

C'est effectivement possible avec des logiciels additionnels tels que Zinc de multidmedia ou swf studio de northcode
C'est aussi possible en restant dans la gamme Adobe même en utilisant AIR + FLEX (ou AIR + AS3 je pense)

@+
3
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
17 sept. 2008 à 14:59
Bonjour,

flash.net.FileReference; ne sert qu'a transferer des fichiers entre un ordinateur et un serveur (ou l'inverse) mais en aucun cas a executer le fichier choisi.

Dans ton cas, tu dois premièrement ulpoader le fichier swf choisi sur le serveur et ensuite, lorsqu'il est sur le serveur le charger dans un clip vide a l'aide de loadMovie() ou MovieClipLoader()

Mais je ne suis pas persuadé que c'est bien cela que tu souhaites réaliser...

@+
0
cs_cd59 Messages postés 72 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 31 octobre 2011
17 sept. 2008 à 20:36
Il n'y a pas une fonction identique mais pour ouvrir un fichier ?
Comment ce fait-il que ma variable "choixfichier" devient undefined lorsque je passe à la frame suivante ? J'ai pourtant bien stocké "file.name" ?
Merci
0
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
17 sept. 2008 à 20:50
Non, il n'y a pas de fonction pour ouvrir et exécuter un swf  depuis une animation sur un serveur... et c'est tant mieux pour la sécurité !!!

Imagine les risques liés à une telle fonction.

Avec cette  fonction, je pourrais ouvrir sur ton serveur un fichier qui est sur mon ordinateur, et si ce fichier comporte des scripts (flash peut faire exécuter du javascript directement depuis  getURL) qui me permettent à mon tour d'envoyer ou de créer des fichier sur ton serveur... avec un peu de bonne volonté je prend le contrôle total de ton serveur !

remarque : tu peux bien récupérer le nom du fichier, mais flash ne te donnera jamais le chemin complet pour accéder à ce fichier.

L'unique possibilité est celle proposée dans mon post précédent : uploader le fichier et ensuite le lancer dans ton animation.

@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_cd59 Messages postés 72 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 31 octobre 2011
17 sept. 2008 à 21:36
Ce n'est pas pour du online, c'est du local !
Bon ben je vais continuer à fouiner sur le Web. Je suis sûr qu'il existe une fonction permettant de faire ça.
Merci quand même.
0
Rejoignez-nous