programacion - El navegador de Android actualiza la página después de seleccionar el archivo a través del elemento de entrada
manual de programacion android pdf (3)
Echa un vistazo a este problema:
https://code.google.com/p/android/issues/detail?id=53088
Básicamente, lo que parece estar sucediendo es esto:
Android no tiene suficiente memoria disponible para el selector de archivos o la aplicación de la cámara.
Libera memoria al cerrar el navegador
Una vez que se cierra el selector de archivos / cámara, el navegador se abre de nuevo, lo que provoca una actualización de la página, lo que hace que todo el archivo elegido sea inútil.
Me parece que esto está más allá del control de cualquier solución basada en navegador, pero me encantaría que se demuestre lo contrario en este supuesto .
Tengo una página web móvil que incluye un elemento de entrada del tipo ''archivo'', para permitir a los usuarios subir archivos de imágenes a un servidor. La página funciona bien en iOS y en un Nexus 4 (Android 4.2.1) en el navegador Chrome.
Cuando uso un Samsung S3 (Android 4.0.4) con el navegador predeterminado, al hacer clic en el botón ''Elegir archivo'', se abre el diálogo de selección de imágenes como se esperaba; sin embargo, después de elegir una imagen y cerrar el cuadro de diálogo la página web se actualiza. Perderá la imagen que se seleccionó. ¿Alguien más ha visto este comportamiento? ¿Alguna sugerencia para una solución?
El elemento de entrada que estoy usando es bastante estándar, y se ve así:
<input id="addPhoto" type="file" accept="image/*"/>
Incluso sin el atributo ''aceptar'' obtengo el mismo problema.
Estoy teniendo el mismo problema en un teléfono con Andriod 2.3.6. Uno de mis colegas no tiene el problema en su teléfono (no puedo recordar lo que se está ejecutando). Él sugirió que podría ser un problema de memoria. Si el teléfono no tiene suficiente memoria disponible, es posible que el navegador se vea obligado a volver a cargar la página después de seleccionar la imagen, lo que frustra el objetivo. Todavía no he podido confirmar que este es el problema, pero mi teléfono tiene mucha menos memoria disponible que la suya.
Puede probar este método JQuery: http://blueimp.github.com/jQuery-File-Upload/
Uploadify también parece prometedor: http://www.uploadify.com/
Aquí hay una demostración de esto: http://www.uploadify.com/demos/
Creo que el problema no es su código, sino el navegador predeterminado de Android que está utilizando.