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

GWT et Vaadin Java Discussion :

Upload de fichiers


Sujet :

GWT et Vaadin Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 67
    Points : 42
    Points
    42
    Par défaut Upload de fichiers
    Bonjour,

    Je suis en train de développer une petite application qui me permettrait d'uploader des fichiers sur un serveur pour ensuite les crypter et les stocker

    J'ai un petit problème concernant l'upload de fichier. Lorsque j'exécute l'application en Hosted Mode tout se passe comme je le souhaite. Par contre quand je met mon application en ligne, l'upload ne fonctionne pas.

    Je travaille avec la librairie GXT.
    Voilà mon code pour le client:
    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
     
    ... 
    final FormPanel form = new FormPanel();
     
    form.setHeading("Ajouter un fichier");
    form.setIconStyle("icon-upload");
    form.setFrame(true);
    form.setLayout(new FlowLayout());
    form.setSize(500, 145);
     
    form.setMethod(Method.POST);
    form.setAction("http://########/save.php");
    form.setEncoding(Encoding.MULTIPART);
     
    String cleSecrete = "01234567890abcde";
    String cleIv = "fedcba9876543210"; 
     
    form.add(new Hidden("cle1",cleSecrete));
    form.add(new Hidden("cle2",cleIv));
     
    FileUpload labelUpload = new FileUpload();
    labelUpload.setName("fichiertocrypt");
    form.add(labelUpload);
     
    Button boutonValid =
        	new Button("Valider", new SelectionListener<ButtonEvent> (){
        		public void componentSelected(ButtonEvent be) {
    	    			// Soumission du formulaire
    	    			form.submit();
           	        }
            }
    );
     
    ...
    et le script php côté serveur:
    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
     
    <?php
     
    function upload($index,$destination,$maxsize=FALSE,$extensions=FALSE){
       //Test1: fichier correctement uploadé
         if (!isset($_FILES[$index]) OR $_FILES[$index]['error'] > 0) return FALSE;
       //Test2: taille limite
         if ($maxsize !== FALSE AND $_FILES[$index]['size'] > $maxsize) return FALSE;
       //Test3: extension
         $ext = substr(strrchr($_FILES[$index]['name'],'.'),1);
         if ($extensions !== FALSE AND !in_array($ext,$extensions)) return FALSE;
       //Déplacement
         return move_uploaded_file($_FILES[$index]['tmp_name'],$destination.$_FILES[$index]['name']); 
    }
     
    $infile = $_FILES['fichiertocrypt']['name']; //Si l'upload n'as pas marché cette chaîne sera vide
    $upload = upload('fichiertocrypt','./',FALSE,FALSE);
     
    if($upload){
     
    	$secret_key   = $_POST['cle1'];
    	$iv           = $_POST['cle2'];
    	$outfile      = "fichiers/".$infile.".crypted";
     
    	$plaintext = file_get_contents($infile);
    	$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128,$secret_key, $plaintext, MCRYPT_MODE_CBC, $iv);
     
    	//Création du fichier crypté
    	$fp=fopen($outfile,"w");
    	//Ecriture du fichier
    	fwrite($fp,$crypttext);
     
    	//Création du fichier de log
    	//$fpl=fopen("log.txt","w");
    	//Ecriture du log
    	//fwrite($fpl,$log);
     
    	//Suppression du fichier clair utilisé
    	unlink($infile);
    }
     
    ?>
    En fait la variable $_FILES['fichiertocrypt'] n'est pas initialisée ce qui veut dire que l'upload n'a pas eu lieu.

    Pourriez vous m'indiquer mon erreur ?

    Merci.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 67
    Points : 42
    Points
    42
    Par défaut
    C'est bon j'ai trouvé la solution dans la doc GWT de Google qui explique comment faire des appels serveurs sans RPC:
    http://code.google.com/docreader/#p=...CallWithoutRPC

    Il faut insérer dans le fichier MainPage.gwt.xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <inherits name="com.google.gwt.http.HTTP"/>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FTP] Problème pour uploader un fichier
    Par Crazyblinkgirl dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 07/01/2008, 22h21
  2. Upload de fichier par XMLHTTP
    Par Immobilis dans le forum ASP
    Réponses: 6
    Dernier message: 21/01/2005, 17h02
  3. upload de fichier
    Par 120 dans le forum ASP
    Réponses: 16
    Dernier message: 21/06/2004, 12h07
  4. Upload de fichiers sur un ftp
    Par Crazyblinkgirl dans le forum ASP
    Réponses: 10
    Dernier message: 20/06/2004, 11h55
  5. Upload de fichiers
    Par GDVL dans le forum ASP
    Réponses: 4
    Dernier message: 03/06/2004, 12h44

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