Merge pull request #666 from Arcadelia/Temp-file_removal

Fixed removal of upload temp files
This commit is contained in:
Tom Morris 2013-02-11 15:11:24 -08:00
commit 50888c6f2e

View File

@ -65,7 +65,6 @@ import org.apache.commons.fileupload.ProgressListener;
import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.util.Streams; import org.apache.commons.fileupload.util.Streams;
import org.apache.commons.io.FileCleaningTracker;
import org.apache.tools.bzip2.CBZip2InputStream; import org.apache.tools.bzip2.CBZip2InputStream;
import org.apache.tools.tar.TarEntry; import org.apache.tools.tar.TarEntry;
import org.apache.tools.tar.TarInputStream; import org.apache.tools.tar.TarInputStream;
@ -187,7 +186,6 @@ public class ImportingUtilities {
}; };
DiskFileItemFactory fileItemFactory = new DiskFileItemFactory(); DiskFileItemFactory fileItemFactory = new DiskFileItemFactory();
fileItemFactory.setFileCleaningTracker(new FileCleaningTracker());
ServletFileUpload upload = new ServletFileUpload(fileItemFactory); ServletFileUpload upload = new ServletFileUpload(fileItemFactory);
upload.setProgressListener(new ProgressListener() { upload.setProgressListener(new ProgressListener() {
@ -212,8 +210,10 @@ public class ImportingUtilities {
} }
}); });
List tempFiles = upload.parseRequest(request);
progress.setProgress("Uploading data ...", -1); progress.setProgress("Uploading data ...", -1);
parts: for (Object obj : upload.parseRequest(request)) { parts: for (Object obj : tempFiles) {
if (progress.isCanceled()) { if (progress.isCanceled()) {
break; break;
} }
@ -355,6 +355,13 @@ public class ImportingUtilities {
uploadCount++; uploadCount++;
} }
} }
stream.close();
}
// Delete all temp files.
for (Object obj : tempFiles) {
((FileItem)obj).delete();
} }
JSONUtilities.safePut(retrievalRecord, "uploadCount", uploadCount); JSONUtilities.safePut(retrievalRecord, "uploadCount", uploadCount);