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

jQuery Discussion :

Upload de fichier en ajax


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Par défaut Upload de fichier en ajax
    Bonjour,

    Je souhaite utiliser une API REST qui nécessite l'upload d'une image (l'API la traite et me retourne un résultat dans un objet json). Pour cela, je cherche à envoyer une requête POST qui uploaderait le fichier mais en vain

    (une sorte de simulation de la soumission automatique d'un formulaire enctype="multipart/form-data", mais ce n'est apparemment pas possible d’après mes recherches... )

    Voici le bout de code pour mieux comprendre :
    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
     
    var data = {"api_id": "XXXXXXXXXXXXXX",
    		"api_key": "YYYYYYYYYYYYYYYYYYYYYY"
    		"enctype": "multipart/form-data",
    		"file": "img/brad-pitt-2.jpg",
    		"Content-Transfer-Encoding": "binary"};
     
                    $.ajax(
    		{
    			type: "POST",
    			url: "http://api.xxxxx.resturl/process", 
    			contentType: "image/jpeg",
    			data: data,
    			success : function(data)
    			{
    				//alert(data);
    			},
    			dataType: "jsonp"
    		});
    Ceci est sensé me retourner un résultat "success" sous forme d'objet json.

    Or j'obtient un objet json, mais avec l'erreur : DOWNLOAD_ERROR_MALFORMED_URL

    Pour info, cela fonctionne lorsque j'utilise un simple formulaire d'upload html avec un input type=file. Mais le soucis est que je suis obligé de sélectionner à la main mon fichier... Or dans mon cas, ça doit se faire de façon automatique et dynamique.

    J'ai vu qu'il y a une possibilité de faire ce genre d'upload en passant par une iframe, mais j'ai pas l'impression que ce soit très recommandé (de plus, j'ai pas bien compris comment au juste http://www.xorax.info/blog/programma...nput-file.html)

    Sinon, y a t-il un autre moyen d'envoyer une requête http mutlipart directement en javascript, par le biais d'ajax ?

    Merci de votre aide

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

Discussions similaires

  1. [AJAX] Upload de fichier par ajax
    Par ernestrenan dans le forum AJAX
    Réponses: 3
    Dernier message: 11/01/2012, 08h00
  2. Upload de fichiers en ajax ou par formulaire classique
    Par Flatbeat dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 15/08/2010, 20h13
  3. [MVC] Upload de fichier et AJAX
    Par zax-tfh dans le forum ASP.NET
    Réponses: 9
    Dernier message: 03/12/2009, 16h42
  4. Upload de fichiers en Ajax
    Par gyome314 dans le forum Ruby on Rails
    Réponses: 3
    Dernier message: 10/07/2007, 17h10
  5. Upload des fichier avec AJAX
    Par Pedro Varela dans le forum ASP.NET
    Réponses: 6
    Dernier message: 23/01/2007, 07h52

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