Bonjour,
je cherche à créer une servlet devant charger une image dans un tableau de byte, configurer le type de contenu pour une image, configurer l'entête content-length (le nombre de byte dans le tableau) et envoyer l'image dans la réponse au client.
Voici le code:
Je n'ai pas précisé l'entête content-length, car je n'ai pas trouvé d'exemple l'utilisant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21public class Picture extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) { String picturefile = request.getParameter("picturefile"); File f = new File("C:\\Documents and Settings\\Sébastien\\Mes documents\\Photos\\Japon\\Tokyo\\" + picturefile); FileInputStream fis = new FileInputStream(f); ByteArrayOutputStream boss = new ByteArrayOutputStream(); byte[] tabb = new byte [f.length()]; fis.read(tabb); try { response.setContentType("image/jpeg"); OutputStream o = response.getOutputStream(); o.write(tabb); o.flush(); o.close(); } catch (Exception e) { e.printStackTrace(); } } }
Cependant lorsque je compile j'ai un message d'erreur:
J'ai essayé de corriger l'erreur en utilisant un cast : (int) f.length(); mais cela ne fonctionne pas.Picture.java:14: possible loss of precision
found : long
required : int
byte[] tabb = new byte [f.length()];
^
1 error
Je ne vois pas trop ce que je peux faire, si vous avez une piste je suis preneur.
Merci d'avance, mumu27!

 

 
		
		 
         
 

 
			
			

 
			 
   


 Servlet devant charger une image dans un tableau de byte
 Servlet devant charger une image dans un tableau de byte
				 Répondre avec citation
  Répondre avec citation


 
			
Partager