[Yanel-commits] rev 29125 -
public/yanel/trunk/src/resources/file/src/java/org/wyona/yanel/impl/resources/node
josias at wyona.com
josias at wyona.com
Thu Nov 22 10:25:14 CET 2007
Author: josias
Date: 2007-11-22 10:25:13 +0100 (Thu, 22 Nov 2007)
New Revision: 29125
Modified:
public/yanel/trunk/src/resources/file/src/java/org/wyona/yanel/impl/resources/node/NodeResource.java
Log:
fix the name of the uploaded file. see bug #5465, thanks to simon
Modified: public/yanel/trunk/src/resources/file/src/java/org/wyona/yanel/impl/resources/node/NodeResource.java
===================================================================
--- public/yanel/trunk/src/resources/file/src/java/org/wyona/yanel/impl/resources/node/NodeResource.java 2007-11-22 09:18:38 UTC (rev 29124)
+++ public/yanel/trunk/src/resources/file/src/java/org/wyona/yanel/impl/resources/node/NodeResource.java 2007-11-22 09:25:13 UTC (rev 29125)
@@ -368,8 +368,7 @@
if (yanelRequest.isMultipartRequest()) {
Enumeration parameters = yanelRequest.getFileNames();
if (parameters.hasMoreElements()) {
- String name = yanelRequest.getFilesystemName((String) parameters.nextElement());
- return name;
+ return fixAssetName(yanelRequest.getFilesystemName((String) parameters.nextElement()));
}
} else {
log.error("this is NOT a multipart request");
@@ -540,4 +539,18 @@
public void doTransition(String transitionID, String revision) throws WorkflowException {
WorkflowHelper.doTransition(this, transitionID, revision);
}
+
+ protected String fixAssetName(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