100 MB の JPG テストファイル
ファイル情報
| ファイル形式 | JPG |
|---|---|
| ファイルサイズ | 100 MB(104,857,600 バイト) |
| MIME Type | image/jpeg |
| MD5 | c15b3bce35f2e25a7920de1026692709 |
| SHA-1 | fbdc284a0c878e5f5926fc5f9817382cf2aa3511 |
| SHA-256 | 798dbf68a189640d4a10140f9e8f20655aeba2bb19f9c477e6fcd97a05e53e74 |
コマンドでダウンロード
curl -O https://devlab.itlibra.com/files/images/jpg/jpg-100mb.jpg
wget https://devlab.itlibra.com/files/images/jpg/jpg-100mb.jpg
Invoke-WebRequest -Uri "https://devlab.itlibra.com/files/images/jpg/jpg-100mb.jpg" -OutFile "jpg-100mb.jpg"
このファイルについて
100 MB のJPGテストファイルです。ファイルサイズはちょうど 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 に膨らみます。
写真的な内容の JPG として 1 ピクセルあたり約 0.2 バイトで見積もると、この容量は概ね 524,288,000 ピクセル、4:3 なら短辺 19,830 px × 長辺 26,440 px 程度の画像に相当します。圧縮率は絵柄で大きく変わるため、あくまで桁を掴むための概算です。
この形式で確認すべきポイント
JPEG は非可逆圧縮で、透過を持ちません。シグネチャは FF D8 FF で始まります。実装上もっとも事故が多いのは EXIF の Orientation タグで、これを無視すると撮影時に回転された写真がブラウザ上で横倒しに表示されます。
- EXIF の Orientation を読んで自動回転しているか、あるいは意図的に除去しているか
- GPS 位置情報などのプライバシー情報が残っていないか (ユーザー投稿画像では除去が必須)
- プログレッシブ JPEG と ベースライン JPEG の両方を扱えるか (古いデコーダはプログレッシブで失敗することがある)
よくある質問(FAQ)
- このファイルは無料で使えますか?
- はい、完全無料・登録不要でダウンロードできます。商用・非商用を問わずテスト・検証目的でご自由にお使いください。
- ファイルの中身は何ですか?
- テスト目的で生成されたダミーデータです。指定サイズちょうどになるよう調整されています。
- ハッシュ値は何に使えますか?
- ダウンロードしたファイルが正しいか検証したり、ハッシュ計算ライブラリのテストデータとして使えます。