application/x-gzip
100MBから999MBまで、さまざまなサイズのコンテンツタイプファイルのアップロードをテストしたいと思います。
.gz
所定のサイズのファイルをどのように生成しますか?これにより、dd if=/dev/zero of=somefile bs=1 seek=100
通常、圧縮後の結果ファイルは非常に小さくなります。
答え1
次のように10MBのgzipファイルを作成できます。
head -c 10M /dev/urandom | gzip -1 >10m.gz
これは高エントロピーバイトストリームを得るために使用されます
urandom
。これは圧縮できないため、gzipで圧縮されたバージョンは入力とほぼ同じサイズです。その後、gzipで圧縮されたファイルのコピーを一緒にリンクできます。
cat $(perl -e "print '10m.gz ' x 30") >300m.gz
ソースファイルの30個のコピーは約300MB、100個のコピーは約1GBです。
答え2
別のアプローチがあります。ループ変数を制御してファイルを生成できますfilecount
。これにより、100 MBから900 MBのサイズのランダムファイルが作成されgzip
保存されます。
#!/bin/bash
filecount=0
while [ $filecount -lt 10 ]
do
filesize=$((RANDOM%9+1))
filesize=$(($filesize*104857600))
</dev/urandom head -c "$filesize" | gzip > /tmp/file${filecount}.$RANDOM.gz
((filecount++))
done