diff --git a/app/utils/HttpUtil.java b/app/utils/HttpUtil.java index 5e0e4b23a..8c18b5ada 100644 --- a/app/utils/HttpUtil.java +++ b/app/utils/HttpUtil.java @@ -191,7 +191,10 @@ public static Boolean isPJAXRequest(Http.Request request){ */ public static String decodePathSegment(String pathSegment) throws UnsupportedEncodingException { if (pathSegment != null) { - return URLDecoder.decode(pathSegment, "UTF-8"); + // + char in filename is treated specially + String preTransformed = pathSegment.replaceAll("\\+", "*"); + String encoded = URLDecoder.decode(preTransformed, "UTF-8"); + return encoded.replaceAll("\\*", "+"); } else { return null; }