2016-03-29 13 views
0

Ich versuche, eine sehr einfache Back-Office-Image-Uploader zu bauen. Ich verwende das folgende Snippet, um Bilder mit der Imgur Mashape API hochzuladen. Aber ich bekomme immer den Fehler: {"data":{"error":"Image format not supported, or image is corrupt.","request":"\/3\/image","method":"POST"},"success":false,"status":400}. Alles funktioniert gut, wenn ich den Endpunkt auf Mashape teste und auch die gleiche Funktion wurde zuvor nur mit der Imgur API verwendet. Ich habe das Gefühl, dass ich etwas vermisse, aber trotz Recherchen konnte ich keine passende Lösung finden. Wie soll ich vorgehen, um ein Bild mit der Mashape Imgur API in reinem Javascript hochladen zu können?Bild mit Imgur Mashape API in Javascript hochladen

var uploadImg = function(file) { 
     if (!file || !file.type.match(/image.*/)) return; 

     var fd = new FormData(); 
     fd.append("image", file); 

     var xhr = new XMLHttpRequest(); 
     xhr.open("POST", "https://imgur-apiv3.p.mashape.com/3/image"); 
     xhr.onload = function() { 
      console.log(xhr.responseText); 
     } 

     xhr.setRequestHeader('Authorization', 'Client-ID my_Client-Id'); 
     xhr.setRequestHeader('X-Mashape-Key', 'My_MASHAPE_Key'); 
     xhr.setRequestHeader('Content-Type', 'multipart/form-data'); 
     xhr.send(fd); 
    } 

Antwort

0

Ich habe versucht, verschiedene Werte für den Content-Type Header aus den Beispielen, die ich um gesehen haben. Keine der folgenden Funktionen funktionierte: application/json, application/x-www-form-urlencoded, multipart/form-data. Aber die Spezifikation dieses Attributs der Kopfzeile vollständig zu entfernen, hat alles funktioniert.

Also wenn jemand in das gleiche Problem läuft, entfernen Sie einfach die Zeile, wo ich die Content-Type einrichten und Sie sollten in Ordnung sein.

Verwandte Themen