0

Je veux envoyer un formulaire en plusieurs parties en utilisant XMLHttpRequest. Le fichier que je veux joindre est un fichier jpg. L'ajout du fichier à l'objet FormData fonctionne correctement. Mais je voudrais traiter le fichier image avant de l'envoyer. Par conséquent, j'ai une bibliothèque qui prend un Uint8Array en entrée et en sortie aussi bien. J'ai donc l'image traitée comme UInt8Array.Javascript: Envoyer arrayBuffer en utilisant XMLHttpRequest

J'ai essayé d'utiliser

form.append("picture", new Blob(fileAsArray, {type: "image/jpg"})); 

mais il crée un octet/flux. Alors, comment envoyer l'Uint8Array via XMLHttpRequest multipart/form pour que le serveur voie la même chose que lors de l'envoi de l'objet fichier?

+0

convertir en chaîne base64 avec 'var base64Data = btoa (String.fromCharCode.apply (null, yourArray));' – adeneo

+0

Hm, qui semble être [très bien] (https: // développeur. mozilla.org/en-US/docs/Web/API/FormData#append()). Quel navigateur utilisez-vous? – Bergi

Répondre

1

Notez que le Blob constructor prend comme paramètre un tableau des tableaux typés (ou d'autres sources). Essayez

form.append("picture", new Blob([fileAsArray], {type: "image/jpg"}));