Ich habe kürzlich eine andere (verwandte) Frage gestellt, die zu dieser Folgefrage führte: Senden von Daten anstelle einer Datei für ein Eingabeformular
Beim Lesen der Dokumentation zu jQuery.ajax () ( http://api.jquery.com/jQuery.ajax/ ) scheint die Liste der akzeptierten Datentypen keine Bilder zu enthalten.
Ich versuche, ein Bild mit jQuery.get (oder jQuery.ajax, wenn ich muss) abzurufen, dieses Bild in einem Blob zu speichern und es in einer POST-Anfrage auf einen anderen Server hochzuladen. Derzeit sieht es so aus, als ob meine Bilder aufgrund der Nichtübereinstimmung in den Datentypen beschädigt sind (Größe in Byte nicht übereinstimmend usw.).
Der Code, um dies auszuführen, lautet wie folgt (er ist in Coffeescript, sollte aber nicht schwer zu analysieren sein):
handler = (data,status) ->
fd = new FormData
fd.append("file", new Blob([data], { "type" : "image/png" }))
jQuery.ajax {
url: target_url,
data: fd,
processData: false,
contentType: "multipart/form-data",
type: "POST",
complete: (xhr,status) ->
console.log xhr.status
console.log xhr.statusCode
console.log xhr.responseText
}
jQuery.get(image_source_url, null, handler)
Wie kann ich dieses Bild stattdessen als Blob abrufen?