無法弄清楚爲什麼會一直創建2個文件夾?它會創建一個'0'文件夾,以及來自html的任何jobID。我想上傳文件在jobID文件夾中,而不是'0'文件夾。創建目錄問題
int userID = 1; // test
String coverLetter = "";
String status = "Review";
int jobID = 0;
String directoryName = "";
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if(isMultipart && request.getContentType() != null)
{
// Create a factory for disk-based file items
FileItemFactory factory = new DiskFileItemFactory();
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Parse the request
List /* FileItem */ items = null;
try
{
items = upload.parseRequest(request);
}
catch(FileUploadException e) {}
// Process the uploaded items
Iterator iter = items.iterator();
while(iter.hasNext())
{
FileItem item = (FileItem)iter.next();
if(item.isFormField())
{
if(item.getFieldName().equals("coverLetter"))
coverLetter = item.getString();
if(item.getFieldName().equals("jobID"))
jobID = Integer.parseInt(item.getString());
}
directoryName = request.getRealPath("/") + "/Uploads/CV/" + jobID + "/";
File theDir = new File(directoryName);
if (!theDir.exists())
theDir.mkdir();
if(item.getFieldName().equals("file"))
{
File uploadedFile = new File(directoryName + item.getName());
try
{
item.write(uploadedFile);
}
catch(Exception e) {}
}
}
編輯:
問題solved.I要上傳的文件
這是因爲它是在作業ID文件夾,而不是 '0' 的文件夾。
程序流看起來很可疑。如果item.isFormField爲true,您將實例化作業ID爲'0'並將其設置爲一個值。你的程序是否在if塊內進行。可能它永遠不會進入isformfield = true塊。 – 2011-03-13 15:59:14
如果您回答自己的問題,請將其作爲答案而不是編輯原始問題。如果每個人都這樣做,StackOverflow將是一個可怕的資源。 – 2011-03-13 18:52:44