Hola
chuidiang, gracias por tu respuesta, analizándolo tienes mucha razón, lo probaré, de todos modos como mencionas, pasé mejor el código a un servlet para evitar cualquier complicación! dejo el código por si se le ofrece a alguien más! Gracias y saludos!
Código:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
//PrintWriter out = response.getWriter();
//out.close();
ServletOutputStream ouputStream = null;
try {
String nomFile = request.getParameter("arch");
FileInputStream archivo = new FileInputStream(request.getServletContext().getRealPath("/") + "archivos/" + nomFile);
int longitud = archivo.available();
byte[] datos = new byte[1024];
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename=" + nomFile);
ouputStream = response.getOutputStream();
int bytesRead;
while ((bytesRead = archivo.read(datos)) > 0) {
ouputStream.write(datos, 0, bytesRead);
}
archivo.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
ouputStream.flush();
ouputStream.close();
}
}