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