Javaでファイルアップロード

Javaでのファイルアップロード。Jakarta Commons FileUploadを使った。JavaDoc
・インストール
FileUploadの他にJakarta Commons IOも必要。
・使用法
普通にフォームを用意して

<form name="foo" method="post" enctype="multipart/form-data" action="someServlet">
<input name="filename" type="file">
<input name="submit" type="submit" value="submit>
</form>

サーブレット側ではServletFileUploadクラスのparseRequestメソッドを使うとListが返ってくる。このListにはアップロードされたファイルとフォームの値が混在してるので以下のようにする。

//インスタンスの生成は省略
List list = sfu.parseRequest(request);
Iterator i = list.iterator();
while (i.hasNext()) {
FileItem item = (FileItem)i.next()
if (item.isFormField()) {
// フォームの値の処理
} else {
//アップロードされたファイルに対する処理
}
}

なお、@ITでも同様の質問があったけど、multipartで送られてきた場合request.getParameter()ではフォームの値を取得出来ないので注意。

カテゴリー: Java

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です