Dear all,
I have a small snippet of code as below
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
// maximum size that will be stored in memory
factory.setSizeThreshold(10240);
// the location for saving data that is larger than
getSizeThreshold()
factory.setRepository(new
File(System.getProperty("specFolderOnServer")));
// maximum size before a FileUploadException will be thrown
upload.setSizeMax(Integer.parseInt(System.getProperty("maxUploadFileSize")));
// Parse the request
List<FileItem> items ;
try {
items = upload.parseRequest(request);
} catch (FileUploadException fue) {
request.getRequestDispatcher(url).forward(request, response);
}
When I uploaded a file that exceeds limit size, the program hung at
request.getRequestDispatcher(url).forward(request, response);
I did some research and found that it relates to the session locking somehow,
but I could not find a clear suggestion on how to have it resolved. Could
anyone help me with this issue?
I currently have to remove the line upload.setSizeMax and check filesize limit
manually by using method getSize in class FileItem. However, I have a feeling
that it's more efficient to set max file size in ServletFileUpload as the
system may not need to copy/save the uploaded file if its size exceeds the
preset limit. Is this true?
Thank you,
Ha