IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

[FLASH 8] recherche script cgi pour l'upload


Sujet :

Flash

  1. #1
    Candidat au Club
    Inscrit en
    Août 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 8
    Points : 2
    Points
    2
    Par défaut [FLASH 8] recherche script cgi pour l'upload
    bonjour
    je suis a la recherche d'un script cgi me permettant de passer les limitations de taille et fonctionnant avec flash 8
    en fait j'ai deja ce genre de script mias je n'arrive pas a le faire fonctionner avec flash il s'agit de psupload

    merci ++

  2. #2
    Membre éprouvé
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Points : 1 210
    Points
    1 210
    Par défaut
    Salut et bienvenue sur Développez

    Je comprend pas le souci... avec FileReference en flash, tu peux faire ce que tu veux non ? L'envoyer à du php, du cgi, etc etc...

    @++
    Libzippp (C++)
    Lost in AStorm

  3. #3
    Candidat au Club
    Inscrit en
    Août 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Salut ben en fait si je peux faire ce que je veuix notamment du upload
    mon script (psupload) marche bien via une page html mais mon prob c que quand je fais

    [AS]
    monitem.upload("ww.mondomaine.com/uplaod.cgi")
    [/AS]
    me retournes bien un cahrgement et une fin de chargement mais ne met rien sur le serveur alors que le mm script en html passe correctement

    voila donc si vous avez une soluce je suis archi preneur (mais c pour du dev perso et non commercial)

  4. #4
    Membre éprouvé
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Points : 1 210
    Points
    1 210
    Par défaut
    Salut,

    A mon avis, le souci est plutot du coté du script cgi... J'ai fait des upload en ASP et PHP depuis flash, je n'ai jamais eut de souci. On peut voir le code complet du coté flash ?

    @++
    Libzippp (C++)
    Lost in AStorm

  5. #5
    Membre averti Avatar de aorgerit
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 257
    Points : 301
    Points
    301
    Par défaut
    bonjour,

    tu nous dis :
    monitem.upload("ww.mondomaine.com/uplaod.cgi")

    je suis ok mais envoies-tu le nom de fichier au script CGI ?
    question bete d'accord mais...
    monitem.upload("ww.mondomaine.com/uplaod.cgi?myfile="+nom_du_fichier)
    me semble plus approprié.
    Et comme ton script fonctionne parfaitement en ce sens,mais que d'une demande flash le fichier n'est pas sur le serveur, il me semble que le cgi ne reçoit pas le nom du fichier à uploader.

    Bien à toi

  6. #6
    Membre éprouvé
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Points : 1 210
    Points
    1 210
    Par défaut
    Salut,

    aorgerit je ne suis pas d'accord avec toi Voici ce qui est dit dans la documentation :
    The file is uploaded to the URL passed in the url parameter. The URL must be a server script configured to accept uploads. Flash Player uploads files using the HTTP POST method. The server script that handles the upload should expect a POST request with the following elements:

    A Content-Type element of multipart/form-data
    A Content-Disposition element with a name attribute set to "Filedata" and a filename attribute set to the name of the original file
    The binary contents of the file
    Donc tu peux bel et bien récupérer le nom de fichier en ciblant l'argument Filedata puis filename pour le récupérer. Reste ensuite à le déplacer à l'emplacement voulu sur le serveur

    @++
    Libzippp (C++)
    Lost in AStorm

  7. #7
    Membre averti Avatar de aorgerit
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 257
    Points : 301
    Points
    301
    Par défaut
    bonjour,

    moi non plus, la mienne, dis ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Vous pouvez envoyer des données au serveur avec l'appel upload() en ajoutant les paramètres de l'URL ; par ex.http://www.myserver.com/upload.cgi?userID=jdoe.
    Je copy paste toute l'aide en français, cela donnera peut êtrre une piste à notre ami.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
     
    upload (méthode FileReference.upload)
    public upload(url:String) : Boolean
     
    Procède au chargement d'un fichier sélectionné par un utilisateur sur un serveur distant. Flash Player peut télécharger des fichiers jusqu'à 100 Mo. Il est nécessaire d'appeler FileReference.browse() ou FileReferenceList.browse() avant d'appeler cette méthode. 
     
    Les écouteurs reçoivent des événements permettant d'indiquer la progression du chargement, s'il a réussi ou échoué. Bien que vous puissiez utiliser l'objet FileReferenceList permettant aux utilisateurs un choix multiple de fichiers à charger, vous devez charger les fichiers un par un. Pour cela, faites une itération dans le tableau FileReferenceList.fileList des objets FileReference.
     
    Le fichier est chargé vers l'URL passée dans le paramètre url. L'URL doit être un script serveur configuré pour accepter les téléchargements montants. Flash Player télécharge les fichiers en utilisant la méthode HTTP POST. Le script serveur qui gère le chargement doit attendre une requête POST comportant les éléments suivants :
     
    Un élément Content-Type de multipart/form-data 
    Un élément Content-Disposition avec l'attribut name défini sur "Filedata" et un attribut filename défini sur le nom du fichier d'origine. 
    Le contenu binaire actuel du fichier 
    Voici un exemple de requête POST :
     
     Content-Type: multipart/form-data; boundary=AaB03x
     --AaB03x 
     Content-Disposition: form-data; name="Filedata"; filename="example.jpg" 
     Content-Type: application/octet-stream
     ... contents of example.jpg ... 
     --AaB03x-- 
     
     
    Vous pouvez envoyer des données au serveur avec l'appel upload() en ajoutant les paramètres de l'URL.
     
    Remarque : Si votre serveur requiert une authentification d'utilisateur, seuls les fichiers SWF s'exécutant dans un navigateur, (c'est-à-dire utilisant le plug-in du navigateur ou le contrôle ActiveX), peuvent fournir une boîte de dialogue pour demander à l'utilisateur un nom et un mot de passe d'authentification, ceci uniquement pour les téléchargements. Concernant les chargements effectués via le plug-in ou le contrôle ActiveX et le chargement/téléchargement via les lecteurs autonomes ou externes, le transfert de fichiers échoue.
     
    Pour utiliser cette méthode, tenez compte du modèle de sécurité de Flash Player : 
     
    Interdit si le fichier SWF appelant est dans une Sandbox locale non sûre. 
    Par défaut, l'accès est refusé entre Sandboxes. Un site web peut autoriser l'accès à une ressource en ajoutant un fichier de régulation inter-domaines. 
    Pour plus d'informations, consultez les sections suivantes :
     
    Chapitre 17, "Compréhension de la sécurité" dans Apprentissage d' ActionScript 2.0 dans Flash 
    Le livre blanc sur la sécurité dans Flash Player 8 
    Le livre blanc sur la sécurité dans Flash Player 8 en liaison avec les API 
    Disponibilité : ActionScript 1.0 ; Flash Player 8
     
    Paramètres
    url:String - URL du script serveur configuré pour gérer le chargement par appels HTTP POST. L'URL peut être de type HTTP ou de type HTTPS pour les chargements sécurisés. 
     
    Vous pouvez envoyer des données au serveur avec l'appel upload() en ajoutant les paramètres de l'URL ; par ex.http://www.myserver.com/upload.cgi?userID=jdoe.
     
    Sur certains navigateurs, les chaînes d'URL ont une longueur limitée. Une longueur supérieure à 256 caractères peut échouer sur certains navigateurs ou serveurs.
     
    Valeur renvoyée
    Boolean : une valeur false dans l'un des cas suivants : 
     
    FileReference.browse() n'a pas été appelé avec succès sur cet objet, ou FileReferenceList.browse() n'a pas été appelé avec succès avec cet objet dans son tableau filelist. 
    Le protocole utilisé n'est pas le protocole HTTP ou HTTPS. 
    Une violation de sécurité se produit, c'est-à-dire : si votre fichier SWF essaye d'accéder à un fichier sur un serveur hors de la Sandbox de sécurité de votre fichier SWF. 
    Le type ou le format du paramètre url n'est pas correct. 
    L'appel ne comporte pas le nombre requis de paramètres. 
    Evénements
    onCancel 
     
    Invoqué lorsque l'utilisateur ferme la boîte de dialogue.
     
    onComplete 
     
    Appelé en cas de réussite de l'opération de téléchargement montant.
     
    onHTTPError 
     
    Appelé lorsqu'un envoi échoue en raison d'une erreur HTTP.
     
    onIOError 
     
    Invoqué dans l'un des cas suivants : 
     
    Le chargement échoue en raison d'une erreur d'entrée/sortie lors de la lecture, l'écriture ou la transmission du fichier par Flash Player. 
    Le fichier SWF tente de charger un fichier sur un serveur nécessitant une authentification (comme un nom d'utilisateur et un mot de passe). Au cours du chargement, Flash Player ne permet pas aux utilisateurs d'entrer des mots de passe. 
    Le chargement échoue parce que le paramètre url renferme un protocole invalide. FileReference.upload() doit utiliser HTTP ou HTTPS. 
    onOpen 
     
    Invoqué lors du démarrage d'un téléchargement montant.
     
    onProgress 
     
    Appelé régulièrement pendant le téléchargement du fichier.
     
    onSecurityError 
     
    Appelé lorsqu'un envoi ou un téléchargement échoue en raison d'une erreur de sécurité.
     
    Exemple
    L'exemple suivant montre l'implémentation de la méthode upload() en informant d'abord l'utilisateur de choisir un fichier à télécharger, puis en gérant les écouteurs onSelect et onCancel, pour finalement gérer les résultats du téléchargement en cours. 
     
    import flash.net.FileReference;
     
    var allTypes:Array = new Array();
    var imageTypes:Object = new Object();
    imageTypes.description = "Images (*.jpg, *.jpeg, *.gif, *.png)";
    imageTypes.extension = "*.jpg; *.jpeg; *.gif; *.png";
    allTypes.push(imageTypes);
     
    var listener:Object = new Object();
     
    listener.onSelect = function(file:FileReference):Void {
         trace("onSelect: " + file.name);
         if(!file.upload("http://www.yourdomain.com/yourUploadHandlerScript.cfm")) {
              trace("Upload dialog failed to open.");
         }
    }
     
    listener.onCancel = function(file:FileReference):Void {
         trace("onCancel");
    }
     
    listener.onOpen = function(file:FileReference):Void {
         trace("onOpen: " + file.name);
    }
     
    listener.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void {
         trace("onProgress with bytesLoaded: " + bytesLoaded + " bytesTotal: " + bytesTotal);
    }
     
    listener.onComplete = function(file:FileReference):Void {
         trace("onComplete: " + file.name);
    }
     
    listener.onHTTPError = function(file:FileReference):Void {
         trace("onHTTPError: " + file.name);
    }
     
    listener.onIOError = function(file:FileReference):Void {
         trace("onIOError: " + file.name);
    }
     
    listener.onSecurityError = function(file:FileReference, errorString:String):Void {
         trace("onSecurityError: " + file.name + " errorString: " + errorString);
    }
     
    var fileRef:FileReference = new FileReference();
    fileRef.addListener(listener);
    fileRef.browse(allTypes);
    Il y a plus d'une ligne à prendre en compte pour détecter d'où peut venir le problème.

    Bien à toi

  8. #8
    Candidat au Club
    Inscrit en
    Août 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Salut
    mon script flash me retournes bien le oncomplete par contre j'ai pas essayé de passé dasn l'url le non de mon fichier et le probléme c'est que j'y connais rien en perl (l'ecriture du cgi) pour pouvoir y passer une variable mais bon je suis pret a etre aidé

  9. #9
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    De retour parmis vous après 10 ans!!

  10. #10
    Membre éclairé
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Points : 823
    Points
    823
    Par défaut
    Salut sub0, je profite de ce post pour te demander un petit truc... Dans ton exemple que j'utilise maintenant pour upload multiple, je n'arrive pas à mettre le document flash avec un fond transparent (cf post d'ajourd'hui sur le forum de flash...)

    Merci de ton aide (précieuse)

    ++
    JC
    VELOMASTER, idée cadeau ? un jeu de plateau

    Hummmmm, des donuts !!!!

    Merci de penser à , et et aussi

  11. #11
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    De retour parmis vous après 10 ans!!

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 37
    Points : 46
    Points
    46
    Par défaut cgi focntionnant avec un fomulaire php mais pas file reference
    Voila j'ai trouver un cgi perl d'upload qui fonctionne très bien avec un formulaire html. Essentiellement avec la méthode POST. Avec un appel a partir d'un file référence ça ne fonctionne pas.

    Le formulaire HTML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    <html>
    <title>Attachment FormMailer</title> 
    </head>
     
    <body>
     
    <form action="/cgi-bin/upload.cgi" method="POST" ENCTYPE="multipart/form-data">
    <table align="center" border=0 cellspacing=0 cellpadding=10 width="430">
    <tr>
    <td><font face="verdana" size=2><b>File Attachment</b></font></td>
    <td><input type="FILE" name="FILE1"></td>
    </tr>
    <tr>
    <td><br></td>
    <td><input type="SUBMIT" value="Submit Form" style="cursor:hand;"></td>
    </tr>
    </table>
    </form>
     
    </body>
    </html>
    Ensuite l'action script qui est censé "imiter" le formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
     
    _level0.group=0;
     
     
     
     
    import flash.net.FileReference;
    fileURL = _level0.way+"cgi-bin/upload.cgi";
    var myFileReference:FileReference = new FileReference();
    var myListener:Object = new Object();
    //////////////////////////////
     
    myListener.onComplete = function() {
    	stat.text = "Le transfert est maintenant termine !";
    	prog.text = "";
    	//imagesCb.addItem(myFileReference.name);
    	//imagesCb.selectedIndex = imagesCb.length-1;
    	//montreImage();
    	upload_btn._visible = false;
    };
    //////////////////////////////
    myListener.onSelect = function() {
    	upload_btn._visible = true;
    	uploadFile.text = myFileReference.name;
    	//tracer= myFileReference.name;
    	imgName="Nom";
    	coment="Le commentaire"
    	d = new Date() //recupere la date d'aujourd'hui
    	date=d.getDate()+" - "+(d.getMonth()+1)+" - "+d.getFullYear();
    	trace("creator: "+myFileReference.creator+" creationDate: "+myFileReference.creationDate+" modificationDate: "+myFileReference.modificationDate+" type: "+myFileReference.type);
    };
    ///////////////////////////////
    myListener.onOpen = function() {
    	stat = "Transfert en cours...";
    };
    ///////////////////////////////
    myListener.onHTTPError = function() {
    	stat = "Erreur de transmission du fichier.";
    };
    ////////////////////////////////
    myListener.onProgress = function(bytesTotal, bytesLoaded) {
    	if (bytesTotal == -1) {
    		prog = "Impossible de determiner le poids du fichier !";
    	} else {
    		prog = Math.floor((bytesLoaded/myFileReference.size)*100)+"% of "+Math.floor(myFileReference.size/1000)+"K";
    	}
    };
    ///////////////////////////////////
     
     
    browse_btn.onRelease = function() {
    	myFileReference.browse(allTypes);
    };
     
     
    /* Ligne ajouter par AlI EL BROUDI ali-el@hotmail.fr */
    var allTypes:Array = new Array();
    var imageTypes:Object = new Object();
    imageTypes.description = "Images (*.JPG;*.JPEG;*.JPE;*.GIF; *.png;)";
    imageTypes.extension = "*.jpg; *.jpeg; *.jpe; *.gif; *.png;";
    allTypes.push(imageTypes);
     
    var flashTypes:Object = new Object();
    flashTypes.description = "Flash Movies (*.swf;*.SWFL;)";
    flashTypes.extension = "*.swf; *.SWFL";
    allTypes.push(flashTypes);
    /* FIN Ligne ajouter par ALI EL BROUDI */
    browse_btn.onRelease = function() {
    	myFileReference.browse(allTypes);
    };
     
     
    ////////////////////////////////
    myFileReference.addListener(myListener);
    upload_btn._visible = false;
    upload_btn.onRelease = function() {
    	myFileReference.upload(fileURL,"FILE1",false);
    	stat= " telechargement ....";
    };
    stop();
    .

    myFileReference.upload(fileURL,"FILE1",false);

    Je détermine le filedata name en paramatre : FILE1 pour me calquer sur le formulaire

    Le code CGI est en pièce jointe.

    Ce pourrai t-il qui le probleme vienne du format utf8 ou ainsi? Je ne saisie pas surtout que le formulaire html et le file référence fonctionne tout deux avec un upload php.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [Web Service] Recherche script php pour xml-rpc dotclear
    Par php_de_travers dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 18/10/2009, 18h41
  2. Execution d'appel java dans script CGI pour webmin
    Par lestathor dans le forum Langage
    Réponses: 1
    Dernier message: 05/12/2007, 14h11
  3. Script Shell pour un Upload FTP
    Par oumokhtar dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 05/12/2006, 12h52
  4. Recherche Script/API pour envoyer un message à MSN, Jabber, ICQ, etc.
    Par BoneBreaker dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 29/11/2006, 14h11
  5. Réponses: 1
    Dernier message: 03/03/2006, 13h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo