Olá,
Estou tendo dificuldades para implementar o download de arquivos através do struts num determinado servidor linux .Estou usando o código abaixo, ele funciona bem em um servidor mas ao migrar para outro servidor ele deixa de funcionar, isto é, quando faço a solicitação de download a aplicação mostra o arquivo solicitado sendo baixado para o desktop mas ao verificar seu conteúdo ele está vazio!.Até onde eu sei não há diferenças de configuração de um servidor para outro. Alguém saberia apontar o motivo porque isso ocorre, se eu devo adaptar o código para um determinado servidor linux e como fazer isso?
Muito Obrigada
if (strAction.equals("download")) {
String detail = (String) request.getParameter("detail");
String pathToUploads = request.getSession().getServletContext().getRealPath("/post/uploads");
File file = new File(pathToUploads + System.getProperty("file.separator") + detail);
response.setContentLength((int) file.length());
response.setContentType("application/octet-stream");
response.setHeader("Content-disposition", "attachment; filename=" + URLEncoder.encode(file.getName(), "UTF-8"));
response.setHeader("Cache-Control", "max-age=600");
ServletOutputStream outStream = response.getOutputStream();
byte[] b = new byte[(int) file.length()];
try {
FileInputStream fileInputStream = new FileInputStream(file);
fileInputStream.read(b);
} catch (FileNotFoundException e) {
System.out.println("File Not Found.");
e.printStackTrace();
}
outStream.write(b);
outStream.flush();
outStream.close();
findForward = "download";
}