[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