100 MB 的 PNG 测试文件
文件信息
| 文件格式 | PNG |
|---|---|
| 文件大小 | 100 MB(104,857,600 字节) |
| MIME Type | image/png |
| MD5 | 8502378977e2b6fe2fdd3c80372a0104 |
| SHA-1 | 0f8d52381b21209c11eaba412ec918f7abdd9222 |
| SHA-256 | 01e171a4827a97dd6d07efd3c28b367196b7b90396b2eda097292d0d367cdbbc |
通过命令行下载
curl
curl -O https://devlab.itlibra.com/files/images/png/png-100mb.png
wget
wget https://devlab.itlibra.com/files/images/png/png-100mb.png
PowerShell
Invoke-WebRequest -Uri "https://devlab.itlibra.com/files/images/png/png-100mb.png" -OutFile "png-100mb.png"
关于此文件
100 MB 的 PNG 测试文件,大小正好为 104,857,600 字节。免注册、完全免费,可用于验证上传限制和文件处理行为。
上方列出的 MD5 / SHA-1 / SHA-256 是根据本文件内容计算出的真实哈希值。下载后重新计算并比对,即可确认传输过程中未发生损坏;它们也可直接作为测试哈希库时的预期值。
这个大小在实际开发中的意义
100 MB 是 GitHub 按文件拒绝 push 的硬上限,也是通过 Cloudflare 免费计划上传的上限。同时从这个量级起,AWS S3 建议使用分段上传而非单次 PUT。
它也能检验超时设置。在 10 Mbps 线路上,仅传输就需约 80 秒,因此若保持 PHP 的 max_execution_time(默认 30 秒)或 nginx 的 fastcgi_read_timeout(默认 60 秒)不变,上传会因超时而非大小限制而失败。
这个容量的直观参考
在 10 Mbps 线路上传输约需 83.9 秒,100 Mbps 约需 8.4 秒。转换为 Base64 后约膨胀至 136,533 KB。
若按照摄影类内容的 PNG 每像素约 2 字节估算,该容量约相当于 52,428,800 像素,在 4:3 比例下约为 8,361 px × 6,271 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)
- 此文件可以免费使用吗?
- 是的,完全免费且无需注册。可用于任何商业或非商业的测试/验证目的。
- 文件内容是什么?
- 为测试生成的虚拟数据,大小精确符合标示。
- 哈希值有什么用?
- 可验证下载文件的完整性,或作为哈希库的测试数据。