Status 200 / Image not loaded

( Je vais casser mon ordi) Je cherche à afficher une image pour mon gestionnaire de profil et à afficher mes données dynamiquement sauf que l'image du user ne peut pas s'afficher. J'suis en Java, Spring Boot et Thymeleaf ( c'est un template engine comme Twig ). Côté controller je pense avoir bien mappé ma route ( j'ai également implémenté mon champ avec mes getters et setters et l'image e st bien persisté en bdd ) :
@GetMapping("/images/{id}")
public ResponseEntity<byte[]> getImage(@PathVariable int id){

AppUser user = repo.findById(id).orElse(null);

if (user != null && user.getImageType() != null){

byte[] image = user.getImageType();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.IMAGE_JPEG); // ou autre type MIME selon le format de l'image
return new ResponseEntity<>(image, headers, HttpStatus.OK);
}else{

return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
}
@GetMapping("/images/{id}")
public ResponseEntity<byte[]> getImage(@PathVariable int id){

AppUser user = repo.findById(id).orElse(null);

if (user != null && user.getImageType() != null){

byte[] image = user.getImageType();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.IMAGE_JPEG); // ou autre type MIME selon le format de l'image
return new ResponseEntity<>(image, headers, HttpStatus.OK);
}else{

return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
}
Côté vue :
<div th:if="${user != null}">
<img th:src="@{'/images/' + ${user.id}}" alt="Image de profil" width="400px"/>
</div>
<h1 th:if="${user == null}">Profil de <span th:text="${error}">User not found !!!</span></h1>
<div th:if="${user != null}">
<img th:src="@{'/images/' + ${user.id}}" alt="Image de profil" width="400px"/>
</div>
<h1 th:if="${user == null}">Profil de <span th:text="${error}">User not found !!!</span></h1>
Donc la requête me recupere bien l'image [ status = 200 ] mais uniquement sa description et me dit que l'image contient des erreurs. je n'ai donc aucune erreur sur lequel je peux m'appuyer sur mon terminal pour me débuguer.
6 Replies
Ayfri
Ayfri2mo ago
C'est à dire "l'image contient des erreurs" ?
NoSung
NoSung2mo ago
c'est ce que j'ai en réponse de ma requête quand je clique sur mon image et j'ai pas plus d'infos Quand je vais dans mon inspecteur ou que j'hardcode mon url
Ayfri
Ayfri2mo ago
Ah genre un message d'erreur "image contains errors" ?
NoSung
NoSung2mo ago
Yep, alors j’ai vu sur Stack qu’il fallait ajoute un bout de code genre 64bytes devant sa variable thymeleaf mais toujours rien
Ayfri
Ayfri2mo ago
Ah, chuis désolé je sais pas du tout
NoSung
NoSung2mo ago
🫣🫣 Thymeleaf et sa doc...
Want results from more Discord servers?
Add your server