Partage
  • Partager sur Facebook
  • Partager sur Twitter

XMLHttpRequest

Pour envoyer des images

    13 janvier 2006 à 14:29:03

    Bonjour,

    J'aimerais pouvoir envoyer une image sur le serveur sans avoir à recharger la page.
    Pour cela, je pensais utiliser XMLHttpRequest.

    Seulement, pour l'envoi d'un formulaire, les seuls exemples que j'ai trouvé utilisent l'encodage application/x-www-form-urlencoded.
    J'ai donc essayé quelquechose avec multipart/form-data, mais ça ne marche pas :(

    Après tout, l'echec était prévisible, car l'image n'est pas envoyé sur le serveur puisque le formulaire n'est pas validé.

    Merci de votre aide. :)


    Pour info, voià ce que j'ai essayé :

    var xhr_object = null;
    if(window.XMLHttpRequest) // Firefox
            xhr_object = new XMLHttpRequest();
    else if(window.ActiveXObject) // Internet Explorer
            xhr_object = new ActiveXObject("Microsoft.XMLHTTP");

    var method = "POST";
    var boundary = "---------------------------265001916915724";
    var fichier = "editeur/photo.php";
    var photo = f.elements["photo"].value;

    donnees  = boundary+"\r\n";
    donnees += 'Content-Disposition: form-data; name="photo"; filename="'+photo+"\"\r\n";
    donnees += "Content-Type: image/jpeg\r\n";

    xhr_object.open(methode, fichier, true);
           
    xhr_object.onreadystatechange = function()
    {
            if(xhr_object.readyState == 4)
            {
                  var reponse = xhr_object.responseText;
                  alert(reponse);
            }
    }

    xhr_object.setRequestHeader("Content-type", "multipart/form-data; boundary="+boundary);
    xhr_object.send(donnees);
    • Partager sur Facebook
    • Partager sur Twitter
      13 janvier 2006 à 19:38:10

      A prioris tu ne pourras pas le faire...

      Le problème est que pour envoyer un fichier sur le serveur il faut d'abord que javascript puisse lire le fichier sur l'ordinateur. Et javascript étant très sécuriatire il n'y a pas moyen de lire les informations sur le pc client. Donc je crois que tu peux oublier ça.
      • Partager sur Facebook
      • Partager sur Twitter

      XMLHttpRequest

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown