begin process at 2012 02 07 07:50:15
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tutoriaux

 > AS3.0: UPLOAD DE FICHIER ET RECUPERATION DE LA REPONSE DU SERVEUR

AS3.0: UPLOAD DE FICHIER ET RECUPERATION DE LA REPONSE DU SERVEUR


 Description

Un script en actionscript 3.0 pour permettre de recuperer des donnees en provenance du serveur : un message de confirmation par exemple

Source

  • package
  • {
  • import flash.events.Event;
  • import flash.events.DataEvent;
  • import flash.events.IOErrorEvent;
  • import flash.events.ProgressEvent;
  • import flash.events.SecurityErrorEvent;
  • import flash.net.FileFilter;
  • import flash.net.FileReference;
  • import flash.net.URLRequest;
  • import flash.net.URLVariables;
  • public class exemple_d_upload_de_fichier
  • {
  • private var requete:URLRequest;
  • public function __choisirUnFichier():void
  • {
  • //on peut uploader les fichiers en envoyant des variables
  • var parametres:URLVariables = new URLVariables;
  • parametres.__variable1 = "ici une variable bidon";
  • parametres.__variable_peu_importe_ce_que_c_est = 25;
  • requete = new URLRequest(Global.SUBMITAPP_URL);
  • requete.method = "POST";
  • requete.data = parametres;
  • __parcourirLesDossiers();
  • }
  • private function __parcourirLesDossiers():void
  • {
  • var selectionneurDeFichiers:FileReference = new FileReference;
  • selectionneurDeFichiers.addEventListener(Event.SELECT, __alerteFichierSelectionne,false,0,true);
  • selectionneurDeFichiers.addEventListener(Event.CANCEL, __alerteChoixDeFichierAvorte,false,0,true);
  • selectionneurDeFichiers.browse([new FileFilter("Images PNG (*.png)", "*.png"), new FileFilter("Images JPEG (*.jpg)", "*.jpg")/*vous pouvez rajouter les extensions que vous voulez ici, si le browse() est appelle sans parametres ou le tableau ne contient rien(null ou vide) alors tous les fichiers deviennent selectionnables...*/]);
  • }
  • private function __alerteChoixDeFichierAvorte(event:Event):void
  • {
  • var selectionneurDeFichiers:FileReference = event.target as FileReference;
  • selectionneurDeFichiers.removeEventListener(Event.SELECT, __alerteFichierSelectionne,false);
  • selectionneurDeFichiers.removeEventListener(Event.CANCEL, __alerteChoixDeFichierAvorte,false);
  • }
  • private function __alerteFichierSelectionne(event:Event):void
  • {
  • var selectionneurDeFichiers:FileReference = event.target as FileReference;
  • selectionneurDeFichiers.removeEventListener(Event.SELECT, __alerteFichierSelectionne,false);
  • selectionneurDeFichiers.removeEventListener(Event.CANCEL, __alerteChoixDeFichierAvorte,false);
  • // debut de l'upload sur le serveur
  • selectionneurDeFichiers.addEventListener(Event.COMPLETE, __alerteUploadTermine,false,0,true);
  • selectionneurDeFichiers.addEventListener(SecurityErrorEvent.SECURITY_ERROR, __alerteErreurSurvenue,false,0,true);
  • selectionneurDeFichiers.addEventListener(ProgressEvent.PROGRESS, __alerteProgressionFichier,false,0,true);
  • selectionneurDeFichiers.removeEventListener(IOErrorEvent.IO_ERROR, __alerteErreurSurvenue,false);
  • selectionneurDeFichiers.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, __alerteReponseDuServeur,false,0,true);
  • selectionneurDeFichiers.upload(requete, "fichierSelectionne");
  • //le second parametre est le nom de reference par lequel on peut recuperer le fichier dans le script serveur
  • }
  • private function __alerteErreurSurvenue(event:Event):void
  • {
  • var selectionneurDeFichiers:FileReference = event.target as FileReference;
  • selectionneurDeFichiers.removeEventListener(Event.COMPLETE, __alerteUploadTermine,false);
  • selectionneurDeFichiers.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, __alerteErreurSurvenue,false);
  • selectionneurDeFichiers.removeEventListener(ProgressEvent.PROGRESS, __alerteProgressionFichier,false);
  • selectionneurDeFichiers.removeEventListener(IOErrorEvent.IO_ERROR, __alerteErreurSurvenue,false);
  • selectionneurDeFichiers.removeEventListener(DataEvent.UPLOAD_COMPLETE_DATA, __alerteReponseDuServeur,false);
  • //erreur lors de l'upload
  • }
  • private function __alerteProgressionFichier(event:ProgressEvent):void
  • {
  • //calcul du pourcentage
  • var percent:int = int(100.0 * event.bytesLoaded/event.bytesTotal);
  • }
  • private function __alerteUploadTermine(event:Event):void
  • {
  • var selectionneurDeFichiers:FileReference = event.target as FileReference;
  • selectionneurDeFichiers.removeEventListener(Event.COMPLETE, __alerteUploadTermine,false);
  • selectionneurDeFichiers.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, __alerteErreurSurvenue,false);
  • selectionneurDeFichiers.removeEventListener(ProgressEvent.PROGRESS, __alerteProgressionFichier);
  • selectionneurDeFichiers.removeEventListener(IOErrorEvent.IO_ERROR, __alerteErreurSurvenue,false);
  • //fichier uploade
  • }
  • private function __alerteReponseDuServeur(event:DataEvent):void
  • {
  • var selectionneurDeFichiers:FileReference = event.target as FileReference;
  • selectionneurDeFichiers.removeEventListener(DataEvent.UPLOAD_COMPLETE_DATA, __alerteReponseDuServeur,false);
  • //fichier uploade avec reponse du serveur
  • var response:String = event.data as String;
  • //vous pouvez maintenant en faire ce que vous voulez
  • }
  • }
  • }
package
{
	import flash.events.Event;
	import flash.events.DataEvent;
	import flash.events.IOErrorEvent;
	import flash.events.ProgressEvent;
	import flash.events.SecurityErrorEvent;
	
	import flash.net.FileFilter;
	import flash.net.FileReference;
	import flash.net.URLRequest;
	import flash.net.URLVariables;
	
	public class exemple_d_upload_de_fichier
	{
		private var requete:URLRequest;
		
		public function __choisirUnFichier():void
		{
			//on peut uploader les fichiers en envoyant des variables
			var parametres:URLVariables = new URLVariables;
			parametres.__variable1 = "ici une variable bidon";
		    parametres.__variable_peu_importe_ce_que_c_est = 25;
			
		        requete = new URLRequest(Global.SUBMITAPP_URL);
		        requete.method = "POST";
		        requete.data = parametres;
			
			__parcourirLesDossiers();
		}
		private function __parcourirLesDossiers():void
		{
			var selectionneurDeFichiers:FileReference = new FileReference;
			selectionneurDeFichiers.addEventListener(Event.SELECT, __alerteFichierSelectionne,false,0,true);
			selectionneurDeFichiers.addEventListener(Event.CANCEL, __alerteChoixDeFichierAvorte,false,0,true);
			selectionneurDeFichiers.browse([new FileFilter("Images PNG (*.png)", "*.png"), new FileFilter("Images JPEG (*.jpg)", "*.jpg")/*vous pouvez rajouter les extensions que vous voulez ici, si le browse() est appelle sans parametres ou le tableau ne contient rien(null ou vide) alors tous les fichiers deviennent selectionnables...*/]);
		}
		private function __alerteChoixDeFichierAvorte(event:Event):void
		{
			var selectionneurDeFichiers:FileReference = event.target as FileReference;
			selectionneurDeFichiers.removeEventListener(Event.SELECT, __alerteFichierSelectionne,false);
			selectionneurDeFichiers.removeEventListener(Event.CANCEL, __alerteChoixDeFichierAvorte,false);
		}
		private function __alerteFichierSelectionne(event:Event):void
		{
			var selectionneurDeFichiers:FileReference = event.target as FileReference;
			selectionneurDeFichiers.removeEventListener(Event.SELECT, __alerteFichierSelectionne,false);
			selectionneurDeFichiers.removeEventListener(Event.CANCEL, __alerteChoixDeFichierAvorte,false);
			
			// debut de l'upload sur le serveur
			
			selectionneurDeFichiers.addEventListener(Event.COMPLETE, __alerteUploadTermine,false,0,true);
			selectionneurDeFichiers.addEventListener(SecurityErrorEvent.SECURITY_ERROR, __alerteErreurSurvenue,false,0,true);
			selectionneurDeFichiers.addEventListener(ProgressEvent.PROGRESS, __alerteProgressionFichier,false,0,true);
			selectionneurDeFichiers.removeEventListener(IOErrorEvent.IO_ERROR, __alerteErreurSurvenue,false);
			selectionneurDeFichiers.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, __alerteReponseDuServeur,false,0,true);
			
			selectionneurDeFichiers.upload(requete, "fichierSelectionne");
			//le second parametre est le nom de reference par lequel on peut recuperer le fichier dans le script serveur
		}
		private function __alerteErreurSurvenue(event:Event):void
		{
			var selectionneurDeFichiers:FileReference = event.target as FileReference;
			selectionneurDeFichiers.removeEventListener(Event.COMPLETE, __alerteUploadTermine,false);
			selectionneurDeFichiers.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, __alerteErreurSurvenue,false);
			selectionneurDeFichiers.removeEventListener(ProgressEvent.PROGRESS, __alerteProgressionFichier,false);
			selectionneurDeFichiers.removeEventListener(IOErrorEvent.IO_ERROR, __alerteErreurSurvenue,false);
			selectionneurDeFichiers.removeEventListener(DataEvent.UPLOAD_COMPLETE_DATA, __alerteReponseDuServeur,false);
			
			//erreur lors de l'upload
		}
		private function __alerteProgressionFichier(event:ProgressEvent):void
		{
			//calcul du pourcentage
			var percent:int = int(100.0 * event.bytesLoaded/event.bytesTotal);
		}
		
		private function __alerteUploadTermine(event:Event):void
		{
			var selectionneurDeFichiers:FileReference = event.target as FileReference;
			selectionneurDeFichiers.removeEventListener(Event.COMPLETE, __alerteUploadTermine,false);
			selectionneurDeFichiers.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, __alerteErreurSurvenue,false);
			selectionneurDeFichiers.removeEventListener(ProgressEvent.PROGRESS, __alerteProgressionFichier);
			selectionneurDeFichiers.removeEventListener(IOErrorEvent.IO_ERROR, __alerteErreurSurvenue,false);
			//fichier uploade
		}
		private function __alerteReponseDuServeur(event:DataEvent):void
		{
			var selectionneurDeFichiers:FileReference = event.target as FileReference;
			selectionneurDeFichiers.removeEventListener(DataEvent.UPLOAD_COMPLETE_DATA, __alerteReponseDuServeur,false);
			
			//fichier uploade avec reponse du serveur
			var response:String = event.data as String;
			//vous pouvez maintenant en faire ce que vous voulez
		}
	}
}



 Sources de la même categorie

Source avec Zip Source avec une capture COMPTEUR DE VISITES GRAPHIQUE AS2 (ACTION SCRIPT 2) FLASH CS... par snoozkilla
Source avec Zip Source avec une capture GALERIE D'IMAGES AVEC TITRES ET COMMENTAIRES par yasdar
Source avec Zip Source avec une capture GUITARE ZÉRO 1 LE MOTEUR LOURD par titouanbaillon
MODIFIER LES APOSTROPHES ET AUTRES CARACTÈRES MADE IN WORD D... par ourso
Source avec Zip Source avec une capture CLASS CIRCLE, GEOM ET BOX : EXTENTION DU PACKAGE "FLASH.GEOM... par top30

Commentaires et avis

Commentaire de sfssousa le 04/04/2009 17:50:23

Bonjour
Je suis débutant en actioscript.

comment puis-je utiliser cette classe?
comme je les appelle les événements?

Commentaire de zoosil le 06/04/2009 07:31:00

Bonjour,
Débutant en actionscript, je n'ai pas trouvé d'exemple d'utilisation de cette classe.

Pouvez-vous joindre un exemple d'utilisation de cette classe et mettre le tout dans un zip à télécharger ?

Merci pour votre aide ...

Commentaire de nickydaquick le 06/04/2009 16:52:47

Bonjour tout le monde,

   Cette classe est un exemple de capture de la reponse du serveur lors de l'upload d'un fichier. Je l'ai mise pour les inities qui ne sauraient peut-etre pas comment le faire en actionscript 3.0 (question de migration). Mais si vous voulez un exemple plus concret , je m'attelerai a vous en fournir un , zippe, avec le script PHP qui va avec... et ce bientot.

            Bonne journee

Commentaire de on_drag_on le 06/04/2009 16:57:38

Salut Nickydaquick,

Source sympa ! Ce serait en effet super si y avait le php avec, pas mal d'entre nous n'ont que de faibles connaissances en la matière ... :)
@+ ;)

Commentaire de mohe4 le 01/09/2009 18:10:53

merci pour ce code :)

Commentaire de mmaster le 09/04/2010 17:32:08

Slt Fr. Ns avons besoin de tuto avec image
à l'appui ça, on comprend que dale. Lol

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales