Je suis tombé sur cette réponse qui est géniale:
Dans iPhone iOS6 et à partir d'Android ICS, HTML5 possède la balise suivante qui vous permet de prendre des photos à partir de votre appareil:
<input type="file" accept="image/*" capture="camera">
La capture peut prendre des valeurs telles que l'appareil photo, le caméscope et l'audio.
Est-il possible d'aller plus loin en utilisant un ajax quelconque pour télécharger immédiatement une photo après sa prise?
Par exemple, en utilisant mon téléphone, une fois que je tape sur l'entrée, il ouvre alors l'appareil photo qui me permettra immédiatement de prendre une photo et de l'enregistrer. Lorsque je l'enregistre sur l'appareil photo, il est ensuite répertorié par le bouton d'entrée comme fichier à télécharger.
Que faudrait-il pour que cette photo soit immédiatement téléchargée au lieu d'attendre que l'utilisateur clique sur le bouton Soumettre du formulaire?
Réponses:
C'est vraiment facile à faire, envoyez simplement le fichier via une requête XHR à l'intérieur du gestionnaire onchange de l'entrée de fichier.
<input id="myFileInput" type="file" accept="image/*;capture=camera"> var myInput = document.getElementById('myFileInput'); function sendPic() { var file = myInput.files[0]; // Send file here either by adding it to a `FormData` object // and sending that via XHR, or by simply passing the file into // the `send` method of an XHR instance. } myInput.addEventListener('change', sendPic, false);
la source
sendPic()
à télécharger immédiatement le fichier après que l'appareil photo ait pris la photo?