J'ai récemment posé une autre question (connexe), qui a conduit à cette question complémentaire : Soumettre des données au lieu d'un fichier pour un formulaire de saisie
En lisant la documentation de jQuery.ajax() ( http://api.jquery.com/jQuery.ajax/ ), il semble que la liste des types de données acceptés n'inclut pas les images.
J'essaie de récupérer une image à l'aide de jQuery.get (ou de jQuery.ajax si nécessaire), de stocker cette image dans un Blob et de la télécharger sur un autre serveur dans une requête POST. Actuellement, il semble qu'en raison de la non-concordance des types de données, mes images finissent par être corrompues (non-concordance de la taille en octets, etc.).
Le code pour réaliser cette opération est le suivant (il est en coffeescript mais ne devrait pas être difficile à analyser) :
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)
Comment puis-je récupérer cette image en tant que blob à la place ?