サーバーに 3 つの画像をアップロードしようとしていますが、動作していますが、選択した 3 つではなく、ユーザーが最後に選択したファイルを常にアップロードします。
これが私のコードです:
protected void doPost(HttpServletRequest request, HttpServletResponse response){
boolean multipart = ServletFileUpload.isMultipartContent(request);
if (multipart) {
DiskFileItemFactory fileItemFactory = new DiskFileItemFactory();
fileItemFactory.setSizeThreshold(5 * 1024 * 1024); //5 MB
fileItemFactory.setRepository(tmpDir);
ServletFileUpload uploadHandler = new ServletFileUpload(fileItemFactory);
try {
List items = uploadHandler.parseRequest(request);
Iterator itr = items.iterator();
while (itr.hasNext()) {
FileItem item = (FileItem) itr.next();
File file = new File(dir, generateNewName());
item.write(file);
}
} catch (FileUploadException ex) {
} catch (Exception ex) {
}
}
}
- アップデート:
<html>
<head>
<title>Upload</title>
</head>
<body>
<form action="Upload" method="post" enctype="multipart/form-data">
<input type="file" name="file1" />
<br />
<input type="file" name="file2" />
<br />
<input type="file" name="file3" />
<br />
<input type="submit" value="Enviar" />
</form>
</body>
更新 2:
エラーが見つかりました:メソッドを呼び出すと、generateNewName()
(date)+(hour)+(miliseconds) を含む文字列が返されます。毎回新しい名前を生成するにはこれで十分だと思いますが、常に同じ名前を返すので、この方法で毎回同じファイルを書き換えます。
ご迷惑をおかけして申し訳ありませんが、助けていただきありがとうございます。
よろしく、ヴァルター・エンリケ。