Un archivo de prueba PNG de 100 MB
png-100mb.png
Información del archivo
| Formato de archivo | PNG |
|---|---|
| Tamaño de archivo | 100 MB(104,857,600 bytes) |
| MIME Type | image/png |
| MD5 | 8502378977e2b6fe2fdd3c80372a0104 |
| SHA-1 | 0f8d52381b21209c11eaba412ec918f7abdd9222 |
| SHA-256 | 01e171a4827a97dd6d07efd3c28b367196b7b90396b2eda097292d0d367cdbbc |
Descargar por línea de comandos
curl -O https://devlab.itlibra.com/files/images/png/png-100mb.png
wget https://devlab.itlibra.com/files/images/png/png-100mb.png
Invoke-WebRequest -Uri "https://devlab.itlibra.com/files/images/png/png-100mb.png" -OutFile "png-100mb.png"
Acerca de este archivo
Archivo de prueba de 100 MB en formato PNG, con un tamaño exacto de 104,857,600 bytes. Descarga gratuita y sin registro, para verificar límites de subida y el comportamiento del procesamiento de archivos.
Los valores MD5, SHA-1 y SHA-256 mostrados arriba son los digests reales de este archivo. Recalcularlos tras la descarga confirma que la transferencia no se corrompió, y sirven además como valores esperados al probar una librería de hash.
Qué significa este tamaño en la práctica
100 MB es el límite duro de GitHub por archivo en un push y también el tope de subida a través del plan gratuito de Cloudflare. Es además el punto en el que AWS S3 recomienda subida multiparte en lugar de un único PUT.
También pone a prueba tu configuración de timeouts. En una línea de 10 Mbps la transferencia por sí sola tarda unos 80 segundos, así que dejar el max_execution_time de PHP (30s por defecto) o el fastcgi_read_timeout de nginx (60s por defecto) sin tocar hace que la subida falle por timeout y no por el límite de tamaño.
Para hacerse una idea de este tamaño
En un enlace de 10 Mbps la transferencia tarda unos 83.9 segundos, y unos 8.4 segundos a 100 Mbps. Codificado en Base64 crece hasta unos 136,533 KB.
Estimando un PNG fotográfico en unos 2 bytes por píxel, este tamaño equivale a unos 52,428,800 píxeles: alrededor de 8,361 × 6,271 px en proporción 4:3. La compresión varía muchísimo según el contenido, así que tómalo solo como orden de magnitud.
Qué comprobar en este formato
PNG es sin pérdida y lleva canal alfa. Todo archivo empieza con la firma fija de 8 bytes 89 50 4E 47 0D 0A 1A 0A, seguida de los chunks IHDR / IDAT / IEND. La pregunta clave en la validación de subidas es si tu código identifica el archivo por esos bytes iniciales en vez de por la extensión.
- Si el canal alfa sobrevive al redimensionado y la conversión — convertir a JPEG lo destruye
- Si librerías como GD, ImageMagick o sharp alcanzan su techo de memoria: en PNG la memoria depende de los píxeles decodificados, no del tamaño del archivo
- Si se eliminan metadatos como los chunks tEXt: PNG no tiene EXIF, pero los chunks de texto pueden conservar información
Preguntas frecuentes (FAQ)
- ¿Es gratis usar este archivo?
- Sí — totalmente gratis y sin registro. Úsalo para cualquier prueba comercial o no comercial.
- ¿Qué contiene el archivo?
- Datos ficticios generados para pruebas, ajustados al tamaño exacto.
- ¿Para qué sirven los hashes?
- Verifica la integridad o úsalos como datos de prueba para librerías de hash.