1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if(request.getParameter("idMessage")!=null) {
Membre membre=new Membre();
membre.testConnecte(request);
long idMembre=membre.getId();
if(idMembre!=0) {
long idMessage=Long.parseLong(request.getParameter("idMessage"));
Document document=new Document();
document.initDL(idMessage, idMembre);
if(document.getIdMessage()!=0) {
String filename=Datas.DIR+"documents/"+document.getIdMessage()+document.getExtension();
File file=new File(filename);
if(file.exists()) {
try {
String filenameDL="doc-"+document.getIdMessage()+document.getExtension();
ServletOutputStream out = response.getOutputStream();
BufferedInputStream from = null;
response.setContentLength((int) file.length());
int bufferSize = 64 * 1024;
from = new BufferedInputStream(new FileInputStream(file), bufferSize * 2);
byte[] bufferFile = new byte[bufferSize];
response.setContentType("application/download");
response.setHeader("Content-Disposition", "attachment;filename=\"" + filenameDL + "\"");
for (int i = 0; ; i++) {
int len = from.read(bufferFile);
if (len < 0)
break;
out.write(bufferFile, 0, len);
}
out.flush();
from.close();
out.close();
} catch(Exception e) {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("Erreur :"+e.getMessage());
}
} else {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("Erreur : fichier inconnu!");
}
}
} else {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("Erreur : document inconnu!");
}
} else {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("Erreur !");
}
} |
Partager