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

AJAX Discussion :

[AJAX] Upload de fichier


Sujet :

AJAX

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Fidji

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Janvier 2015
    Messages : 19
    Points : 19
    Points
    19
    Par défaut [AJAX] Upload de fichier
    Bonjour, je souhaiterais faire un formulaire d'upload de fichier sans rechargement de la page. J'aimerais ne pas utiliser de plugin et faire le maximum manuellement. En revanche jQuery me semble indispensable. J'ai donc ce code HTML :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form>
        <input type="file" name="fileToUpload" id="fileToUpload">
        <input id="envoyer" type="submit" value="Upload Image" name="submit">
    </form>
    Ce code PHP (simplifié au maximum) :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $target_dir = "uploads/";
    $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
    move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file);
    Et ce code Javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $("#envoyer").click(function(){
     
        $.ajax({
           url : 'upload.php',
           type : 'POST',
           dataType : 'html',
        });
     
    });
    Rien ne se passe avec ce code. J'ai lu que AJAX ne transportait pas de fichiers, donc si je comprends bien il faut que je sérialise le fichier uploadé ?
    Merci d'avance !

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 957
    Points : 44 121
    Points
    44 121
    Par défaut
    Bonjour,
    un lien qui devrait t’intéresser Upload de fichiers par ABCIWEB.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Fidji

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Janvier 2015
    Messages : 19
    Points : 19
    Points
    19
    Par défaut
    Merci pour la réponse mais je préfère ne pas passer par un plugin. D'autres idées ? Merci d'avance.

  4. #4
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Yop!

    J'ai vu passer des solutions basées sur une iframe invisible.
    Un ascenseur est une machine qui passe quand même la moitié de son temps à descendre.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Fidji

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Janvier 2015
    Messages : 19
    Points : 19
    Points
    19
    Par défaut
    Problème résolu !

    Etape 1 : créer un fichier index.html :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form id="uploadimage" action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="file" id="file" required />
    <input id="sub" type="submit" value="Upload" class="submit" />
    </form>

    Etape 2 : ajouter bibliothèque jquery.

    Etape 3 : ajouter ce code js au fichier html :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $("#uploadimage").on('submit',(function(e) {
       e.preventDefault();
       $.ajax({
          url: "upload.php", 
          type: "POST", 
         data: new FormData(this), 
         contentType: false,
         cache: false,  
         processData: false,
       });
    }));
    Etape 4 : créer un fichier upload.php :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $sourcePath = $_FILES['file']['tmp_name']; 
    $targetPath = "upload/".$_FILES['file']['name']; 
    move_uploaded_file($sourcePath,$targetPath);

    Etape 5 : créer un dossier "upload".

    Voilà la méthode la plus simple de faire un upload sans rechargement de page.

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

Discussions similaires

  1. [AJAX] Uploader un fichier avec son ID
    Par Stalk3R dans le forum AJAX
    Réponses: 2
    Dernier message: 02/07/2012, 19h52
  2. Réponses: 1
    Dernier message: 23/01/2012, 19h59
  3. [AJAX] Upload de fichier par ajax
    Par ernestrenan dans le forum AJAX
    Réponses: 3
    Dernier message: 11/01/2012, 08h00
  4. [AJAX] Upload de fichier
    Par Portus dans le forum AJAX
    Réponses: 1
    Dernier message: 14/03/2010, 12h30
  5. [AJAX] Upload de fichier
    Par hedgehog dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/10/2006, 07h57

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