ユーザーがファイルを選択すると、アップロード中にユーザーが入力した別の名前でフォルダー (ProjectConfig ファイルに既に設定されているパス) に保存されます。これが私のサーブレットのコードです。
new ProjectConfig(); // For setting path for storing image
String dealerGalleryPath = ProjectConfig.get("dealergallery");
DiskFileItemFactory factory = new DiskFileItemFactory();
int locationid=2;
ServletFileUpload upload = new ServletFileUpload(factory);
String fileName = "";
try
{
java.io.File fnew = null;
//System.out.println(getServletContext().getRealPath("/images"));
List fileItems = upload.parseRequest(request);
Iterator i = fileItems.iterator();
while ( i.hasNext () )
{
FileItem fi = (FileItem)i.next();
if ( !fi.isFormField () )
{
// Get the uploaded file parameters
String fieldName = fi.getFieldName();
//System.out.println("Field Name is.."+fieldName);
fileName = fi.getName();
if(fi.getName() != null && fi.getName().trim().length() != 0)
{
//System.out.println("File Name is.."+fileName);
String realWebPath = dealerGalleryPath+locationid+"/"+fi.getName();
fnew = new java.io.File(realWebPath); // **What to do here to change name of file??**
fi.write(fnew);
System.out.println("Success");
//commonutil.setProductimage(fi.getName());
}
}
}
System.out.println("fileName::"+fileName);
request.setAttribute("ImageName", fileName);
RequestDispatcher rd = request.getRequestDispatcher("/jsp/ImageTesting.jsp");
rd.forward(request, response);
}catch(Exception e)
{
e.printStackTrace();
}
このサイトの質問を一通り調べましたが、関連する回答が見つかりません。前もって感謝します