1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//affectation du type de réponse
ServletOutputStream out = response.getOutputStream();
response.setContentType("application/octet-stream");
//récupération du nom du fichier
String nomFichier = (String) request.getAttribute("downloadNomFichier");
response.setHeader("Content-disposition", "filename=\"" + nomFichier + "\"");
//récupération du StringBuffer de la request
File fichier = (File) request.getAttribute("downloadFichier");
FileInputStream fis = new FileInputStream(fichier);
// Ecriture du flux dans le fichier en sortie
int nb = 0;
byte[] buffer = new byte[4096];
BufferedOutputStream bos = new BufferedOutputStream(out);
while ((nb = fis.read(buffer, 0, 4096)) != -1) {
bos.write(buffer, 0, nb);
}
bos.flush();
out.flush();
out.close();
} |
Partager