皆さんもこんなことありませんか?
任意の画像を選択して、メールにその画像を添付して送信するフォームがあるとします。
その添付画像のファイルサイズの上限を指定しており、
その上限を超える場合は、エラーが表示されることをテストしたくなると思います。
私は、先日、画像添付できるメールフォームを作成していて思いました。
コマンドで簡単に作成できますので、備忘録的に説明させてもらおうと思います。
※Windows環境での説明になります。
目次
作成する画像ファイル
今回作成したい画像ファイルになります。
- ファイルサイズの上限は、1MB
- 画像形式は、gif、png、jpeg、jpg
各画像形式で1MBと1MB + 1Bを作成します。
ファイルサイズを計算
ファイルサイズを指定するために、ファイルサイズを計算する必要があります。
今回の上限は1MBなので、
1KB = 1024Byte
1MB = 1024 * 1024 = 1048567Byte
1MB + 1 = 1048568Byte
になり、サイズに104856(1MB)と1048568(1MB + 1)を指定して作成します。
今回はファイルサイズが大きくないので、計算もそこまで面倒ではないですが、
ファイルサイズが大きかったりすると結構面倒になってきます。
windowsのpowershellでは、簡単に計算ができ、その結果を変数に代入できます。
画像ファイルの作成
ファイルサイズを指定してファイルを作成するには、「fsutil」コマンドを使用します。
fsutil file createnew [保存先]ファイル名 ファイルサイズ
powershellを使用して作成します。
//ファイルサイズを計算して、変数に代入
$1MB = 1024*1024
$1MB1 =$1MB+1
//作成
//1MBの各拡張子(gif、png、jpeg、jpg)のファイルを作成
//Cドライブ直下に保存する場合
fsutil file createnew c:\testfile_gif_1mb.gif $1MB
fsutil file createnew c:\testfile_png_1mb.png $1MB
fsutil file createnew c:\testfile_jpeg_1mb.jpeg $1MB
fsutil file createnew c:\testfile_jpg_1mb.jpg $1MB
//1MB+1Byteの各拡張子(gif、png、jpeg、jpg)のファイルを作成
//Cドライブ直下に保存する場合
fsutil file createnew c:\testfile_gif_1mb+1b.gif $1MB+1
fsutil file createnew c:\testfile_png_1mb+1b.png $1MB+1
fsutil file createnew c:\testfile_jpeg_1mb+1b.jpeg $1MB+1
fsutil file createnew c:\testfile_jpg_1mb+1b.jpg $1MB+1
これで、Cドライプ直下に画像ファイルが作成されています。
さいごに
画像ファイルだけでなく、
テキストファイルなどいろいろな形式のファイルをサイズ指定して作成できるので、
テスト用ファイルは、fsutilを使ってサクッと作成しましょう。