begin process at 2010 03 21 18:52:58
  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

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
Source avec Zip Source avec une capture UTILISER DES CLIPS PLUTOT QUE DES SÉQUENCES par zoukozouko
Source avec Zip TUTORIAL POUR LES DÉBUTANTS par superslouma
Source avec Zip TUTORIAL SWING PACKAGE FOR ACTIONSCRIPT (SPAS) : LES BASES par BananaTree

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 :)

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

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,312 sec (4)

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