Revision: 1457
http://stripes.svn.sourceforge.net/stripes/?rev=1457&view=rev
Author: bengunter
Date: 2011-12-02 19:19:48 +0000 (Fri, 02 Dec 2011)
Log Message:
-----------
Applied fix for STS-827 from 1.5.x branch.
Modified Paths:
--------------
trunk/stripes/src/net/sourceforge/stripes/controller/multipart/CosMultipartWrapper.java
Modified:
trunk/stripes/src/net/sourceforge/stripes/controller/multipart/CosMultipartWrapper.java
===================================================================
---
trunk/stripes/src/net/sourceforge/stripes/controller/multipart/CosMultipartWrapper.java
2011-12-02 19:18:32 UTC (rev 1456)
+++
trunk/stripes/src/net/sourceforge/stripes/controller/multipart/CosMultipartWrapper.java
2011-12-02 19:19:48 UTC (rev 1457)
@@ -15,8 +15,11 @@
package net.sourceforge.stripes.controller.multipart;
import com.oreilly.servlet.MultipartRequest;
+import com.oreilly.servlet.multipart.FileRenamePolicy;
+
import net.sourceforge.stripes.action.FileBean;
import net.sourceforge.stripes.controller.FileUploadLimitExceededException;
+import net.sourceforge.stripes.exception.StripesRuntimeException;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
@@ -62,15 +65,29 @@
* @throws FileUploadLimitExceededException if the POST content is longer
than the
* maxPostSize supplied.
*/
- public void build(HttpServletRequest request, File tempDir, long
maxPostSize)
+ public void build(HttpServletRequest request, final File tempDir, long
maxPostSize)
throws IOException, FileUploadLimitExceededException {
try {
+ // Create a new file in the temp directory in case of file name
conflict
+ FileRenamePolicy renamePolicy = new FileRenamePolicy() {
+ public File rename(File arg0) {
+ try {
+ return File.createTempFile("cos", "", tempDir);
+ }
+ catch (IOException e) {
+ throw new StripesRuntimeException(
+ "Caught an exception while trying to rename an
uploaded file", e);
+ }
+ }
+ };
+
this.charset = request.getCharacterEncoding();
this.multipart = new MultipartRequest(request,
tempDir.getAbsolutePath(),
(int) maxPostSize,
- this.charset);
+ this.charset,
+ renamePolicy);
}
catch (IOException ioe) {
Matcher matcher = EXCEPTION_PATTERN.matcher(ioe.getMessage());
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure
contains a definitive record of customers, application performance,
security threats, fraudulent activity, and more. Splunk takes this
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development