Amon2でアップロードされたファイルを受け取る。
2014年11月8日
html側は、まぁ普通なんで簡単に。
<form action="/myapp/upload" method="post" enctype="multipart/form-data"> <input type="file" name="hoge"> <input type="submit" value="アップロード"> </form>
Amon2のControllerはこんな感じ。
sub upload { my ( $class, $c ) = @_; # 画像名(xxxxxx.jpg) $c->req->uploads->{'hoge'}->{'filename'}; # 画像サイズ(123456789) $c->req->uploads->{'hoge'}->{'size'}; # 画像タイプ(image/jpeg) $c->req->uploads->{'hoge'}->{'headers'}->{'content-type'}; # tmpパス(/tmp/yyyyyyy.jpg) $c->req->uploads->{'hoge'}->{'tempname'}; }
特に処理は入れてませんが、上記のような感じで受け取れるので、あとはバリデートして、tempnameにあるファイルをDocumentRoot以下にコピーするとか、サムネイルを生成したりとか。