¿Cómo puedo obtener el tamaño del archivo, el alto y el ancho de la imagen antes de subirlo a mi sitio web, con jQuery o JavaScript?
javascript
jquery
html
dimensions
image-size
Afshin
fuente
fuente
Respuestas:
Carga de varias imágenes con vista previa de datos de información
Usando HTML5 y la API de archivos
Ejemplo usando URL API
Las fuentes de las imágenes serán una URL que represente el objeto Blob
<img src="blob:null/026cceb9-edr4-4281-babb-b56cbf759a3d">
Ejemplo usando FileReader API
En caso de que necesite fuentes de imágenes como cadenas de datos codificadas en Base64 largas
<img src="data:image/png;base64,iVBORw0KGg... ...lF/++TkSuQmCC=">
fuente
Si puede usar el complemento de validación jQuery, puede hacerlo así:
HTML:
JavaScript:
La función se pasa como función ab onload.
El código se toma de aquí
fuente
Manifestación
No estoy seguro de si es lo que quiere, pero solo un ejemplo simple:
fuente
Aquí hay un ejemplo de JavaScript puro de cómo seleccionar un archivo de imagen, mostrarlo, recorrer las propiedades de la imagen y luego cambiar el tamaño de la imagen del lienzo en una etiqueta IMG y establecer explícitamente el tipo de imagen redimensionada en jpeg.
Si hace clic con el botón derecho en la imagen superior, en la etiqueta del lienzo, y elige Guardar archivo como, tendrá un formato PNG predeterminado. Si hace clic con el botón derecho y Guardar archivo como la imagen inferior, el formato predeterminado será JPEG. Cualquier archivo de más de 400 px de ancho se reduce a 400 px de ancho y una altura proporcional al archivo original.
HTML
GUIÓN
Aquí hay un jsFiddle:
jsFiddle Elija, muestre, obtenga propiedades y cambie el tamaño de un archivo de imagen
En jsFiddle, hacer clic derecho en la imagen superior, que es un lienzo, no le dará las mismas opciones de guardado que hacer clic derecho en la imagen inferior en una etiqueta IMG.
fuente
Hasta donde yo sé, no hay una manera fácil de hacer esto ya que Javascript / JQuery no tiene acceso al sistema de archivos local. Hay algunas características nuevas en html 5 que le permiten verificar ciertos metadatos, como el tamaño del archivo, pero no estoy seguro de si realmente puede obtener las dimensiones de la imagen.
Aquí hay un artículo que encontré sobre las características de html 5 y una solución para IE que implica el uso de un control ActiveX. http://jquerybyexample.blogspot.com/2012/03/how-to-check-file-size-before-uploading.html
fuente
Entonces comencé a experimentar con las diferentes cosas que la API de FileReader tenía para ofrecer y pude crear una etiqueta IMG con una URL de DATOS.
Inconveniente: no funciona en teléfonos móviles, pero funciona bien en Google Chrome.
(vea esto en un jsfiddle en http://jsfiddle.net/eD2Ez/530/ )
(vea el jsfiddle original que agregué en http://jsfiddle.net/eD2Ez/ )
fuente
Un ejemplo funcional de validación de jQuery:
fuente