Blob

Binary Large Object - un objeto inmutable que representa datos binarios sin procesar en el navegador, utilizado para la lectura y escritura de archivos de imagen en JavaScript.

Un Blob (Binary Large Object) es un objeto inmutable que representa datos binarios sin procesar en el entorno JavaScript del navegador. En el procesamiento de imágenes, los Blobs contienen datos de imagen provenientes de entradas de archivo o salidas de Canvas, permitiendo operaciones de descarga y carga.

El objeto File hereda de Blob, por lo que las imágenes seleccionadas mediante <input type="file"> son directamente utilizables como Blobs. El método toBlob() de la API Canvas convierte el contenido renderizado en un Blob en el formato solicitado, con PNG como formato predeterminado. Formatos como JPEG o WebP dependen de la compatibilidad del navegador, y un tipo no compatible genera PNG.

URL.createObjectURL(blob) genera una URL temporal para uso en elementos <img> o enlaces de descarga. La herramienta de compresión de imágenes utiliza blob.size para mostrar comparaciones de tamaño de archivo. Mientras exista una Object URL, su Blob no puede eliminarse de la memoria. Las Object URLs se liberan mediante URL.revokeObjectURL() y también, por ejemplo, cuando se cierra la página que las creó.

Términos relacionados

Artículos relacionados