1 MB 的 PNG 测试文件
文件信息
| 文件格式 | PNG |
|---|---|
| 文件大小 | 1 MB(1,048,576 字节) |
| MIME Type | image/png |
| MD5 | fdd94dea432b5c61c020b0e81e8a3f77 |
| SHA-1 | e2eb1ae626daff59de3c54da78b4252ad9e0af58 |
| SHA-256 | 253b8fd425dc4edca22bcc8ddc3731aaf772df680621715e7cf008dc56a1b2c3 |
通过命令行下载
curl -O https://devlab.itlibra.com/files/images/png/png-1mb.png
wget https://devlab.itlibra.com/files/images/png/png-1mb.png
Invoke-WebRequest -Uri "https://devlab.itlibra.com/files/images/png/png-1mb.png" -OutFile "png-1mb.png"
关于此文件
1 MB 的 PNG 测试文件,大小正好为 1,048,576 字节。免注册、完全免费,可用于验证上传限制和文件处理行为。
上方列出的 MD5 / SHA-1 / SHA-256 是根据本文件内容计算出的真实哈希值。下载后重新计算并比对,即可确认传输过程中未发生损坏;它们也可直接作为测试哈希库时的预期值。
这个大小在实际开发中的意义
1 MB 恰好等于 nginx client_max_body_size 的默认值(1m)。在没有显式配置该指令的反向代理后面,超过这个大小的请求根本到不了应用层,nginx 会直接返回 413 Request Entity Too Large。
因此它最适合复现这个经典事故:应用侧上限已调到 10 MB,却仍在 1 MB 处被拒。如果应用日志里根本看不到这个 413,原因几乎都在前面的代理层。
这个容量的直观参考
在 10 Mbps 线路上传输约需 839 毫秒,100 Mbps 约需 84 毫秒。转换为 Base64 后约膨胀至 1,365 KB。
若按照摄影类内容的 PNG 每像素约 2 字节估算,该容量约相当于 524,288 像素,在 4:3 比例下约为 836 px × 627 px 的图像。压缩率会因画面内容差异极大,此处仅供把握数量级。
针对该格式应确认的要点
PNG 是无损压缩并带有 Alpha 通道(透明度)。文件开头是固定的 8 字节签名 89 50 4E 47 0D 0A 1A 0A,随后是 IHDR、IDAT、IEND 块结构。上传校验的关键在于:你的实现是依据这些开头字节判断,还是仅凭扩展名。
- 对含透明度的图片进行缩放或转换后,Alpha 通道是否被保留(转为 JPEG 会丢失)
- GD / ImageMagick / sharp 等图像库是否会触及内存上限(PNG 的内存占用取决于解码后的像素数,而非文件大小)
- 是否清除了 tEXt 等元数据(PNG 没有 EXIF,但文本块中可能残留信息)
常见问题 (FAQ)
- 此文件可以免费使用吗?
- 是的,完全免费且无需注册。可用于任何商业或非商业的测试/验证目的。
- 文件内容是什么?
- 为测试生成的虚拟数据,大小精确符合标示。
- 哈希值有什么用?
- 可验证下载文件的完整性,或作为哈希库的测试数据。
相同格式的其他大小
相同大小的其他格式
1,048,576 bytes
image/jpeg
1,048,576 bytes
image/webp
1,048,576 bytes
image/gif
1,048,576 bytes
application/pdf
1,048,764 bytes
application/zip
1,048,576 bytes
text/csv
1,048,578 bytes
application/json
1,048,576 bytes
text/plain