Encontré esta respuesta que es brillante:
En iPhone iOS6 y desde Android ICS en adelante, HTML5 tiene la siguiente etiqueta que le permite tomar fotografías desde su dispositivo:
<input type="file" accept="image/*" capture="camera">
La captura puede tomar valores como cámara, videocámara y audio.
¿Es posible llevar esto un paso más allá usando ajax de algún tipo para cargar una foto inmediatamente después de tomarla?
Por ejemplo, usando mi teléfono, una vez que toco la entrada, se abre la cámara que inmediatamente me permitirá tomar una foto y guardarla. Cuando lo guardo en la cámara, aparece junto al botón de entrada como el archivo para cargar.
¿Qué se necesitaría para que esta foto se cargue inmediatamente en lugar de esperar a que el usuario haga clic en el botón Enviar del formulario?
javascript
html
forms
web-applications
mobile
miqueas
fuente
fuente
Respuestas:
Es realmente fácil hacer esto, simplemente envíe el archivo a través de una solicitud XHR dentro del controlador onchange de la entrada del archivo.
<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);
fuente
sendPic()
que cargue el archivo inmediatamente después de que la cámara tome la foto?