En mi formulario HTML, he ingresado con un archivo de tipo, por ejemplo:
<input type="file" multiple>
Luego, selecciono varios archivos haciendo clic en ese botón de entrada. Ahora quiero mostrar una vista previa de las imágenes seleccionadas antes de enviar el formulario. ¿Cómo hacer eso en HTML 5?
html
image-processing
upload
Hardik Sondagar
fuente
fuente
Respuestas:
HTML5 viene con la especificación File API , que le permite crear aplicaciones que permiten al usuario interactuar con archivos localmente; Eso significa que puede cargar archivos y representarlos en el navegador sin tener que cargarlos. Parte de la API de archivos es la interfaz FileReader , que permite que las aplicaciones web lean de forma asincrónica el contenido de los archivos.
Aquí hay un ejemplo rápido que hace uso de la
FileReader
clase para leer una imagen como DataURL y renderiza una miniatura estableciendo elsrc
atributo de una etiqueta de imagen en una URL de datos:El código html:
El código JavaScript:
Aquí hay un buen artículo sobre el uso de las API de archivos en JavaScript .
El fragmento de código en el ejemplo HTML a continuación filtra las imágenes de la selección del usuario y procesa los archivos seleccionados en múltiples vistas previas en miniatura:
Mostrar fragmento de código
fuente
document.getElementById("uploadImage").disabled = true
Aquí lo hice con jQuery usando FileReader API.
Marcado HTML:
jQuery:
Aquí, en el código jQuery, primero verifico la extensión del archivo. es decir, un archivo de imagen válido para ser procesado, luego verificará si la API de FileReader compatible con el navegador es sí, luego solo se procesa; de lo contrario, se muestra el mensaje respetado
Artículo detallado: Cómo obtener una vista previa de la imagen antes de cargarla, jQuery, HTML5 FileReader () con demostración en vivo
fuente
var
enfor loop
? cada vez que se repita unafor loop
nueva variablereader
será declear ..accept="image/*"
atributo a <input> puede ayudar a evitar que se seleccionen tipos de archivos que no son de imagen.Mostrar fragmento de código
fuente
Para las imágenes de fondo, asegúrese de utilizar
url()
fuente