Bonjour voila, j'ai créé une action qui permet de télécharger un fichier :

Mon action :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
String filename = modifDemandeForm.getPj().getFileName();
			response.setContentType("multipart/form-data"); 
			response.setHeader("Content-Disposition",
			                   "attachment; filename=\"" + 
			                   filename + "\";"); 
			response.setContentLength((int)filename.length()); 
 
			      OutputStream os = response.getOutputStream();
			      FileInputStream stream = new FileInputStream(filename);
			      BufferedInputStream  bis = new BufferedInputStream(stream);
			      InputStream is = new BufferedInputStream(bis);
			      int count;
			      byte buf[] = new byte[4096];
			      while ((count = is.read(buf)) > -1)
			      {
			          os.write(buf, 0, count);
			      }
			      is.close(); 
			      os.close();
Le problème c'est que je sais pas si il faut mettre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
response.setContentType("multipart/form-data");
ou ça :

response.setContentType("multipart/zip");

et quel est la différence ?

enfin je sais pas ce qui faut mettre en paramètre dans
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
FileInputStream(filename);
j'ai mis le nom du fichier mais ça ne fonctionne pas et même en mettant le fichier il me dis :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
org.apache.struts.upload.CommonsMultipartRequestHandler$CommonsFormFile cannot be cast to java.io.FileInputStream
merci pour votre aide.