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 averti
    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
    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
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Bonjour,
    un lien qui devrait t�int�resser Upload de fichiers par ABCIWEB.

  3. #3
    Membre averti
    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
    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 Expert
    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
    Billets dans le blog
    1
    Par d�faut
    Yop!

    J'ai vu passer des solutions bas�es sur une iframe invisible.

  5. #5
    Membre averti
    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
    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