From c438395a1a32385695e6b5aba281c1756d7e09c9 Mon Sep 17 00:00:00 2001 From: kmitresse Date: Fri, 5 Apr 2024 11:10:06 +0200 Subject: [PATCH] draft: dev-web - get img --- .../servlet/api/img/ImgGetterServlet.java | 47 ++++++++++++++++++ .../main/webapp/WEB-INF/components/navbar.jsp | 1 + .../webapp/WEB-INF/components/new-game.jsp | 2 +- .../main/webapp/WEB-INF/views/main-menu.jsp | 5 +- .../src/main/webapp/img/CardsRushLogo.png | Bin 0 -> 2646 bytes .../src/main/webapp/img/CardsRushLogo.svg | 17 +++++++ S2/DevWeb/Projet/src/main/webapp/img/Mask.png | Bin 0 -> 123 bytes .../src/main/webapp/img/Noise_Texture.png | Bin 0 -> 123 bytes 8 files changed, 68 insertions(+), 4 deletions(-) create mode 100644 S2/DevWeb/Projet/src/main/java/uppa/project/servlet/api/img/ImgGetterServlet.java create mode 100644 S2/DevWeb/Projet/src/main/webapp/img/CardsRushLogo.png create mode 100644 S2/DevWeb/Projet/src/main/webapp/img/CardsRushLogo.svg create mode 100644 S2/DevWeb/Projet/src/main/webapp/img/Mask.png create mode 100644 S2/DevWeb/Projet/src/main/webapp/img/Noise_Texture.png diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/servlet/api/img/ImgGetterServlet.java b/S2/DevWeb/Projet/src/main/java/uppa/project/servlet/api/img/ImgGetterServlet.java new file mode 100644 index 0000000..38fdab0 --- /dev/null +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/servlet/api/img/ImgGetterServlet.java @@ -0,0 +1,47 @@ +package uppa.project.servlet.api.img; + +import jakarta.servlet.annotation.WebServlet; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +@WebServlet(name = "imgGetterServlet", value = "/api/imgGet") +public class ImgGetterServlet extends HttpServlet { + public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { + // Récupérer le nom de l'image à partir de la requête + String imgName = request.getParameter("imgName"); + + // Vérifier si le nom de l'image est fourni + if (imgName != null && !imgName.isEmpty()) { + // Récupérer le chemin complet de l'image (remplacez "path_to_your_images_folder" par le chemin réel) + String imagePath = request.getRequestDispatcher("/img/" + imgName).toString(); + + // Ouvrir un flux d'entrée vers le fichier image + try (InputStream inputStream = getServletContext().getResourceAsStream(imagePath)) { + if (inputStream != null) { + // Récupérer le flux de sortie de la réponse HTTP + OutputStream outputStream = response.getOutputStream(); + + // Lire les données de l'image et écrire dans le flux de sortie de la réponse + byte[] buffer = new byte[1024]; + int bytesRead; + while ((bytesRead = inputStream.read(buffer)) != -1) { + outputStream.write(buffer, 0, bytesRead); + } + + // Flusher le flux de sortie + outputStream.flush(); + } else { + // Si l'image n'est pas trouvée, retourner une réponse 404 (non trouvé) + response.sendError(HttpServletResponse.SC_NOT_FOUND); + } + } + } else { + // Si le nom de l'image n'est pas fourni, retourner une réponse 400 (mauvaise requête) + response.sendError(HttpServletResponse.SC_BAD_REQUEST); + } + } +} diff --git a/S2/DevWeb/Projet/src/main/webapp/WEB-INF/components/navbar.jsp b/S2/DevWeb/Projet/src/main/webapp/WEB-INF/components/navbar.jsp index 5f909a7..8d41aef 100644 --- a/S2/DevWeb/Projet/src/main/webapp/WEB-INF/components/navbar.jsp +++ b/S2/DevWeb/Projet/src/main/webapp/WEB-INF/components/navbar.jsp @@ -9,6 +9,7 @@