diff options
-rw-r--r-- | core/src/main/java/fi/iki/elonen/NanoHTTPD.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/core/src/main/java/fi/iki/elonen/NanoHTTPD.java b/core/src/main/java/fi/iki/elonen/NanoHTTPD.java index ce292a4..1b6b811 100644 --- a/core/src/main/java/fi/iki/elonen/NanoHTTPD.java +++ b/core/src/main/java/fi/iki/elonen/NanoHTTPD.java @@ -1147,7 +1147,15 @@ public abstract class NanoHTTPD { } int offset = stripMultipartHeaders(fbuf, bpositions[boundarycount - 2]); String path = saveTmpFile(fbuf, offset, bpositions[boundarycount - 1] - offset - 4); - files.put(pname, path); + if(!files.containsKey(pname)) { + files.put(pname, path); + } else { + int count = 2; + while(files.containsKey(pname+count)) { + count++; + }; + files.put(pname+count, path); + } value = disposition.get("filename"); value = value.substring(1, value.length() - 1); do { |