Index: lams_central/src/java/org/lamsfoundation/lams/web/LAMSUploadServlet.java =================================================================== diff -u -r49b072598933566cedd795667351678071f03004 -r9367000b12e2272e6e0756d91ae1fdd5d7d4a220 --- lams_central/src/java/org/lamsfoundation/lams/web/LAMSUploadServlet.java (.../LAMSUploadServlet.java) (revision 49b072598933566cedd795667351678071f03004) +++ lams_central/src/java/org/lamsfoundation/lams/web/LAMSUploadServlet.java (.../LAMSUploadServlet.java) (revision 9367000b12e2272e6e0756d91ae1fdd5d7d4a220) @@ -23,6 +23,7 @@ import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; +import org.apache.commons.io.FileUtils; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.lamsfoundation.lams.util.Configuration; @@ -45,12 +46,12 @@ * folder with a unique numeric name. Whenever a new design is created (using "New" in the client), a new design folder * name is assigned. The [design folder] is passed in as the CurrentFolder. This servlet supports the image and link * windows, not the browse window. - * + * * Currently this servlet can not be rewritten to Spring Controller. - * Requests to controllers pass few additional Spring layers. + * Requests to controllers pass few additional Spring layers. * For files uploaded with Ajax Spring looks for Spring Security CSRF token. * It is not present as we do not use Spring Security. It results in HTTP 405 Method not allowed. - * There are ways to turn off CSRF check, but not with current Spring version. + * There are ways to turn off CSRF check, but not with current Spring version. * We can try to rewrite this servlet once we upgrade Spring and switch to programmatic configuration. * * @author Marcin Cieslak @@ -87,7 +88,7 @@ String uploadSubDir = FileUtil.prefix + tmpFileUploadId; File uploadDir = new File(Configuration.get(ConfigurationKeys.LAMS_TEMP_DIR), uploadSubDir); File file = new File(uploadDir, fileName); - if (file.exists() && file.delete()) { + if (file.exists() && FileUtils.deleteQuietly(file)) { if (log.isDebugEnabled()) { log.debug("Deleted temporarily uploaded file: " + file.getAbsolutePath()); } Index: lams_common/src/java/org/lamsfoundation/lams/util/FileUtil.java =================================================================== diff -u -r49b072598933566cedd795667351678071f03004 -r9367000b12e2272e6e0756d91ae1fdd5d7d4a220 --- lams_common/src/java/org/lamsfoundation/lams/util/FileUtil.java (.../FileUtil.java) (revision 49b072598933566cedd795667351678071f03004) +++ lams_common/src/java/org/lamsfoundation/lams/util/FileUtil.java (.../FileUtil.java) (revision 9367000b12e2272e6e0756d91ae1fdd5d7d4a220) @@ -49,6 +49,7 @@ import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; +import org.apache.commons.io.FileUtils; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.hibernate.id.Configurable; @@ -910,4 +911,9 @@ String uploadSubDir = FileUtil.prefix + tmpFileUploadId; return new File(Configuration.get(ConfigurationKeys.LAMS_TEMP_DIR), uploadSubDir); } + + public static void deleteTmpFileUploadDir(String tmpFileUploadId) { + File uploadDir = FileUtil.getTmpFileUploadDir(tmpFileUploadId); + FileUtils.deleteQuietly(uploadDir); + } } Index: lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/controller/AuthoringController.java =================================================================== diff -u -r49b072598933566cedd795667351678071f03004 -r9367000b12e2272e6e0756d91ae1fdd5d7d4a220 --- lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/controller/AuthoringController.java (.../AuthoringController.java) (revision 49b072598933566cedd795667351678071f03004) +++ lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/controller/AuthoringController.java (.../AuthoringController.java) (revision 9367000b12e2272e6e0756d91ae1fdd5d7d4a220) @@ -676,6 +676,8 @@ } sequenceId++; } + + FileUtil.deleteTmpFileUploadDir(imageForm.getTmpFileUploadId()); } } } Index: lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/controller/LearningController.java =================================================================== diff -u -r3a64b2f8137870eb67586cd9b18e71f84096b43c -r9367000b12e2272e6e0756d91ae1fdd5d7d4a220 --- lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/controller/LearningController.java (.../LearningController.java) (revision 3a64b2f8137870eb67586cd9b18e71f84096b43c) +++ lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/controller/LearningController.java (.../LearningController.java) (revision 9367000b12e2272e6e0756d91ae1fdd5d7d4a220) @@ -528,6 +528,8 @@ throw new ServletException("Can not access upload dir"); } + FileUtil.deleteTmpFileUploadDir(imageForm.getTmpFileUploadId()); + String title = imageForm.getTitle(); if (StringUtils.isBlank(title)) { Long nextImageTitleNumber = imageGallery.getNextImageTitle();