You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by mc...@apache.org on 2011/01/23 11:17:43 UTC

svn commit: r1062361 - in /struts/struts2/trunk/core/src/main/java/org/apache/struts2: dispatcher/multipart/JakartaMultiPartRequest.java interceptor/FileUploadInterceptor.java

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() + "'.");
                     }
                 }