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

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();
}
}
}
}

コメントを残す

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