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()ではフォームの値を取得出来ないので注意。