From 97823d1cb98fa7865ca44824018e92276146a80d Mon Sep 17 00:00:00 2001 From: ulrich Date: Thu, 13 Mar 2025 16:28:34 +0000 Subject: [PATCH] evtl. enthaltene Query aus Bild-URI herausgelassen --- src/de/uhilger/neon/image/ImageFilter.java | 36 +++++++++++++++++++++++------------- 1 files changed, 23 insertions(+), 13 deletions(-) diff --git a/src/de/uhilger/neon/image/ImageFilter.java b/src/de/uhilger/neon/image/ImageFilter.java index c1b3f29..51f8ff4 100644 --- a/src/de/uhilger/neon/image/ImageFilter.java +++ b/src/de/uhilger/neon/image/ImageFilter.java @@ -20,6 +20,7 @@ import com.sun.net.httpserver.Filter; import com.sun.net.httpserver.HttpExchange; import de.uhilger.neon.FileServer; +import de.uhilger.neon.HttpHelper; import java.io.IOException; /** @@ -67,20 +68,29 @@ */ String pattern = (String) exchange.getHttpContext().getAttributes() .getOrDefault("imageFilterPattern", ".+\\.jpg|.+\\.jpeg|.+\\.png"); - String uriStr = exchange.getRequestURI().toString(); - if(uriStr.matches(pattern)) { - String fileBase = (String) exchange.getHttpContext().getAttributes() - .get(FileServer.ATTR_FILE_BASE); - String fileName = exchange - .getRequestURI() - .getPath() - .substring(exchange - .getHttpContext() - .getPath() - .length()); - new ImageWorker().createImages(fileBase, fileName, uriStr); + String uriStr = exchange.getRequestURI().toString().toLowerCase(); + if(uriStr.contains("?")) { + uriStr = uriStr.substring(0, uriStr.indexOf("?")); } - chain.doFilter(exchange); + try { + String fName = new HttpHelper().getFileName(exchange); + if(uriStr.matches(pattern)) { + String fileBase = (String) exchange.getHttpContext().getAttributes() + .get(FileServer.ATTR_FILE_BASE); + String fileName = exchange + .getRequestURI() + .getPath() + .substring(exchange + .getHttpContext() + .getPath() + .length()); + new ImageWorker().createImages(fileBase, fileName, uriStr); + } + } catch(IllegalArgumentException ex) { + // ungueltiger Dateiname, keine Transformation noetig, tue nichts + } finally { + chain.doFilter(exchange); + } } @Override -- Gitblit v1.9.3