Retourner une image : Servlet vs Web service Rest
Bonjour,
J'ai besoin de rendre des images disponibles à plusieurs applications web.
On ne m'a pas encore précisé l'endroit ou se trouvent les images : est ce sur la même machine qui héberge le serveur d'application ou autre ?
Maintenant pour le choix de la technologie, j’hésite entre un simple servlet et un web service rest.
Je ne sais pas le bon choix à faire?
Pouvez vous m'aider sur ce point ?
J'ai développé le code des deux, le servlet marche bien, par contre le web service non.
Code de web service rest avec Apache-CXF
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
@Path("/get/{id}")
public Response getImage(@PathParam("id") String id) {
Response response = null;
StringBuilder sbImage = new StringBuilder();
sbImage.append(id);
sbImage.append(EXT_IMAGE);
File image = new File(IMAGES_REPO, sbImage.toString());
if(image.exists()){
ResponseBuilder responseBuilder = Response.ok((Object) image);
response = responseBuilder.build();
}
return response;
} |
Je fais le test avec cette page html :
Code:
1 2 3 4 5 6 7
|
<html>
<head><meta content="text/html;charset=UTF-8" /></head>
<body>
<img src="http://localhost:8080/myAppWeb/services/images/get/2003631" width="30%" height="30%">
</body>
</html> |
L'image ne s'affiche pas que je lance mas page de test sur chrome.
Merci.