javaでファイルアップロードするには、ライブラリを追加する必要がある。
/WEB-INF/lib/commons-fileupload-1.0.jar
UPLOAD_FILE_PATH = ファイルをアップするフォルダのパス
<form action=”URL” method=”POST” enctype=”multipart/form-data”>
ファイル:<input type=”file” name=”file_field_name”><br>
普通の値:<input type=”text” name=”text_field_name”>
</form>
// DiskFileUploadを生成
DiskFileUpload dfu = new DiskFileUpload();
dfu.setSizeMax(-1);
dfu.setSizeThreshold(1024);
dfu.setRepositoryPath((“java.io.tmpdir”);//一時的に保存する際のディレクトリ
dfu.setHeaderEncoding(“Windows-31J”);
// アップロードデータを取得
List list = dfu.parseRequest(req);
Iterator iterator = list.iterator();
// アップロードデータを順に処理
while(iterator.hasNext()){
FileItem fItem = (FileItem)iterator.next();
//フォームの一般フィールドではない場合(ファイルアップロードフィールドの場合)。
if(!(fItem.isFormField())){
// ファイルデータのファイル名(PATH名含む)を取得
fileName = fItem.getName();
//ファイル名があり、エクセルに限定
if (!fileName.equals(“”) && fileName.substring(fileName.indexOf(“.”)).toUpperCase().equals(“.XLS”)) {
if((fileName != null) && (!fileName.equals(“”))){
// ファイル名を取得
fileName=(new File(fileName)).getName();
// ファイルデータを指定されたファイルに書き出し
fItem.write(new File(UPLOAD_FILE_PATH + “/” + fileName));
//一時ファイルの削除
fItem.delete();
}
}
}
}