[Yanel-commits] rev 29557 - public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/communication

josias at wyona.com josias at wyona.com
Wed Dec 5 09:48:13 CET 2007


Author: josias
Date: 2007-12-05 09:48:12 +0100 (Wed, 05 Dec 2007)
New Revision: 29557

Modified:
   public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/communication/HttpRequest.java
Log:
fix the filename of an uploaded file: remove path if necessary and replace some special characters. fixes bug #5790, thanks to simon

Modified: public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/communication/HttpRequest.java
===================================================================
--- public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/communication/HttpRequest.java	2007-12-05 08:37:58 UTC (rev 29556)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/communication/HttpRequest.java	2007-12-05 08:48:12 UTC (rev 29557)
@@ -220,7 +220,7 @@
             while (iter.hasNext()) {
                 FileItem item = (FileItem)iter.next();
                 if (item.getFieldName().equals(name)) {
-                    return item.getName();
+                    return fixFileName(item.getName());
                 }
             }
             return null;
@@ -268,5 +268,19 @@
             return null;
         }
     }    
+    
+    protected String fixFileName(String name) {
+        // some browsers may send the whole path:
+        int i = name.lastIndexOf("\\");
+        if (i > -1) {
+            name = name.substring(i + 1);
+        }
+        i = name.lastIndexOf("/");
+        if (i > -1) {
+            name = name.substring(i + 1);
+        }
+        name = name.replaceAll(" |&|%|\\?", "_");
+        return name;
+    }
 }
 



More information about the Yanel-commits mailing list