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 :
Ceci est sensé me retourner un résultat "success" sous forme d'objet json.
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" });
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![]()
Partager