D'accord, dans cette application de téléphone, je commence avec un énorme fichier image de l'appareil photo de l'appareil.
Ensuite, je réduis la résolution et permet à l'utilisateur de recadrer en utilisant javascript canvas et un code très cool appelé darkroomJS. A la fin, darkroomJS utilise la méthode toDataURL() pour extraire les données base64 du canevas.télécharger des données d'image base64 sur Amazon S3
Maintenant, je dois le télécharger sur Amazon S3.
Je peux télécharger un fichier de mon ordinateur vers S3 en utilisant un formulaire très bien. Ce que je travaille sur envoie les données base64.
J'ai également une fonction qui convertit les données base64 en un blob. (que j'ai lu sera nécessaire, mais je suis ouvert à d'autres idées). J'écris dans les informations d'identification en utilisant jquery après avoir été obtenu sur mon serveur. Cette partie fonctionne bien.
Le problème est de savoir comment mettre un blob dans le formulaire?
J'ai essayé deux méthodes. Définition de la valeur avec jQuery.
$ page.find ("# fichier"). Attr ('valeur', blobData); // insère la chaîne [objet blob] texte dans le champ et l'expédie à S3, pas très utile
aussi j'ai essayé:
var fd = new FormData(document.forms[0]);
fd.append('file', blobData);
// n'a pas d'effet; S3 se plaint alors qu'il attendait un fichier, et n'en a pas obtenu un.
Qu'est-ce que je fais mal? Comment puis-je faire ce travail?