Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flex
Flex Forum d'entraide sur la programmation Adobe Flex : applications Internet riches (RIA)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/09/2008, 13h01   #1
Invité régulier
 
Étudiant
Inscription : septembre 2008
Messages : 10
Détails du profil
Informations personnelles :
Localisation : Tunisie

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2008
Messages : 10
Points : 5
Points : 5
Envoyer un message via MSN à PETIT_DEVELOPEUR
Par défaut upload fichier avec php

Bonjour :

Je viens de mettre une solution pour upload une image, et j'ai trouvé le code php (fonctionne très bien avec le HTML) et le code AS3 ce dessous. Il ne donne aucune resultat.

"upload.php":

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 <?php//on vérifies que le champ est bien rempli:if(!empty($_FILES["fichier_choisi"]["name"])){//nom du fichier choisi:
 
$nomFichier = $_FILES["fichier_choisi"]["name"] ;//nom temporaire sur le serveur:$nomTemporaire = $_FILES["fichier_choisi"]["tmp_name"] ;
 
//type du fichier choisi:$typeFichier = $_FILES["fichier_choisi"]["type"] ;//poids en octets du fichier choisit:$poidsFichier = $_FILES["fichier_choisi"]["size"] ;
 
//chemin qui mène au dossier qui va contenir les fichiers uplaod:$chemin = "./upload_fichier/" ;if(copy($nomTemporaire, $chemin.$nomFichier))
 
echo("<br>l'upload a réussi") ;elseecho("<br>l'upload a échoué") ;}//fin ifelse
 
{echo("Vous n'avez pas choisit de fichier!!<br>") ;echo("<a href=\"./uploadfile.html\">Retour</a>") ;}//fin else
 
 ?>
Code AS3:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
 <?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init();">
 
<mx:Script>
<![CDATA[
private var urlRequest:URLRequest;
private var fileReference:FileReference;
private var serverSideScript:String = "upload.php";
 
 
private function init():void 
{
     urlRequest = new URLRequest(serverSideScript);
     fileReference = new FileReference();
     fileReference.addEventListener(Event.SELECT, fileSelectedHandler);
}
 
private function uploadFile():void 
{
     fileReference.browse();
}
 
private function fileSelectedHandler(event:Event):void 
{
     fileReference.addEventListener(Event.COMPLETE, uploadCompleteHandler);
     fileReference.upload(urlRequest);
}
 
private function uploadCompleteHandler(event:Event):void 
{
     statusText.text = "File Uploaded: " + event.target.name;
}
 
]]>
</mx:Script>
 
<mx:Text id="statusText"/>
 
<mx:Button click="uploadFile();" label="Upload File"/>
 
</mx:Application>
Merci de m'aider
PETIT_DEVELOPEUR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2008, 16h42   #2
Rédacteur/Modérateur
 
Avatar de Jim_Nastiq
 
Homme Jean-Marie Macé
Ingénieur consultant, leader Flex
Inscription : avril 2006
Messages : 2 196
Détails du profil
Informations personnelles :
Nom : Homme Jean-Marie Macé
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur consultant, leader Flex
Secteur : Conseil

Informations forums :
Inscription : avril 2006
Messages : 2 196
Points : 3 380
Points : 3 380
tu devrais déjà rajouter les events IOErrorEvent.IO_ERROR et ProgressEvent.PROGRESS sur ton fileReference, histoire de voir si tu n'as pas d'erreur ou si ce n'est pas un pb de transfert.

ensuite vérifies que ta sélection de fichier fonctionne(doit pas y avoir de soucis, mais c'est histoire d'être sur et cloisonner les étapes pour trouver ton soucis , voici un exemple d'un handler que tu pourrais utiliser :

Code :
1
2
3
4
5
private function fileSelectedHandler(event:Event):void {
	var file:FileReference = FileReference(event.target);
	trace("selectHandler: name=" + file.name + " URL=" + uploadURL.url);
	file.upload(serverSideScript);
}
et enfin ton adresse url pour ton script php n'est pas correct! une application flex est coté client un script php coté serveur, tu devrais avoir une string du genre : http://www.tonserveur.com/upload.php
__________________

Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
Pensez au tag

Mon Blog sur la techno Flex
Ma page sur Developpez.com

Jim_Nastiq
Jim_Nastiq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2008, 14h35   #3
Invité régulier
 
Étudiant
Inscription : septembre 2008
Messages : 10
Détails du profil
Informations personnelles :
Localisation : Tunisie

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2008
Messages : 10
Points : 5
Points : 5
Envoyer un message via MSN à PETIT_DEVELOPEUR
Bonjour ;

J’ai ajouté l'événement IOErrorEvent.IO_ERROR comme indique le code ci dessous:
Code :
1
2
3
4
5
 
fileReference.addEventListener(IOErrorEvent.IO_ERROR,IO_ERREUR );
private function IO_ERREUR(event:Event):void{
 statusText0.text = "Event.OPEN: "  ;
}
Lors de l'exécution cet événement est dispatché ( statusText0.text == "Event.OPEN: " )
mais je n'ai pas comprit son indication.
Merci de m’expliquer SVP .
PETIT_DEVELOPEUR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2008, 14h53   #4
Rédacteur/Modérateur
 
Avatar de Jim_Nastiq
 
Homme Jean-Marie Macé
Ingénieur consultant, leader Flex
Inscription : avril 2006
Messages : 2 196
Détails du profil
Informations personnelles :
Nom : Homme Jean-Marie Macé
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur consultant, leader Flex
Secteur : Conseil

Informations forums :
Inscription : avril 2006
Messages : 2 196
Points : 3 380
Points : 3 380
Si tu regardes la doc sur FileReference tu retrouves des infos sur l'événement IO_ERROR

ton handler pour l'event IO_ERROR est un peu bizarre ,non? en gros dès que tu as une erreur tu affiches la String : "Event.OPEN: " dans le composant Text(ou Label) statusText0

tu peux avoir des infos sur la nature de l'erreur avec l'événement levé :

Code :
1
2
3
4
private function IO_ERREUR(event:Event):void{
  trace("IO ERRROR: "+event.text);
  statusText0.text = "IO ERRROR: "+event.text;
}
__________________

Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
Pensez au tag

Mon Blog sur la techno Flex
Ma page sur Developpez.com

Jim_Nastiq
Jim_Nastiq est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h14.


 
 
 
 
Partenaires

Hébergement Web