Author: mcucchiara Date: Sun Jan 23 10:17:42 2011 New Revision: 1062361 URL: http://svn.apache.org/viewvc?rev=1062361&view=rev Log: WW-3562 - FileUploadInterceptor: File not uploaded when file is empty (0 bytes)
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java?rev=1062361&r1=1062360&r2=1062361&view=diff ============================================================================== --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java Sun Jan 23 10:17:42 2011 @@ -192,7 +192,17 @@ public class JakartaMultiPartRequest imp List<File> fileList = new ArrayList<File>(items.size()); for (FileItem fileItem : items) { - fileList.add(((DiskFileItem) fileItem).getStoreLocation()); + File storeLocation = ((DiskFileItem) fileItem).getStoreLocation(); + if(fileItem.isInMemory() && storeLocation!=null && !storeLocation.exists()) { + try { + storeLocation.createNewFile(); + } catch (IOException e) { + if(LOG.isErrorEnabled()){ + LOG.error("Cannot write uploaded empty file to disk: " + storeLocation.getAbsolutePath(),e); + } + } + } + fileList.add(storeLocation); } return fileList.toArray(new File[fileList.size()]); Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java?rev=1062361&r1=1062360&r2=1062361&view=diff ============================================================================== --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java Sun Jan 23 10:17:42 2011 @@ -325,7 +325,7 @@ public class FileUploadInterceptor exten } if ((currentFile != null) && currentFile.isFile()) { - if (currentFile.delete() == false) { + if (!currentFile.delete()) { LOG.warn("Resource Leaking: Could not remove uploaded file '" + currentFile.getCanonicalPath() + "'."); } }