Pessoal,
Estou com um problema sério...
Tenho um sistema web, ai o usuário escolhe um tipo de busca... e o resultado é gerado um arquivo EXCEL para baixar... uso o SERVLET para receber a lista de pesquisa e montar o arquivo...
SERVLET:protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// PEGAR A LISTA REENVIADA
String[] MultiplosDadosAtuais2 = request.getParameterValues("MultiplosDadosAtuais2");
VerificarRegistroGeraRelatorio vr;
try {
HttpSession session = request.getSession();
String login = (String) session
.getAttribute("loginUsuario");
vr = new VerificarRegistroGeraRelatorio();
// MANDAR A LISTA
vr.CriadorArquivo(MultiplosDadosAtuais2, login);
} catch (BiffException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
HttpSession session = request.getSession();
NomeArquivoExcel arquivoExcel = new NomeArquivoExcel();
File arq = arquivoExcel.NomeExcelRelatorio((String) session
.getAttribute("loginUsuario"));
if(!arq.exists()){
msgRetorno = "Arquivo Inexistente";
request.setAttribute("msgRetorno", msgRetorno);
request.getRequestDispatcher("geraRelatorioAtual.jsp").forward(
request, response);
} else {
{
response.setHeader("Content-Disposition", "filename=" + arq.getName());
response.setContentType("application/vnd.ms-excel");
ServletOutputStream out;
out = response.getOutputStream();
FileInputStream fin = new FileInputStream(arq);
BufferedInputStream bin = new BufferedInputStream(fin);
BufferedOutputStream bout = new BufferedOutputStream(out);
int ch =0;
while((ch=bin.read())!=-1)
{
bout.write(ch);
}
bin.close();
fin.close();
bout.close();
out.close();
arq.delete();
}
}
}
E a classe para gerar o arquivo em um diretório criado....:
public File NomeExcel(String login) {
//ADICIONA DATA/HORA NO ARQUIVO GERADO
GregorianCalendar calendar = new GregorianCalendar();
SimpleDateFormat formatador = new SimpleDateFormat("dd' de 'MMMMM' de 'yyyy");
File dir = new File(".\\arquivoUpload\\");
File arq = new File(dir, login+"_Consulta_Coletiva - "+formatador.format(calendar.getTime())+".xls");
return arq;
}
Só que deve ter algum problema de permissão e as pessoas não estão conseguindo acessar esta pasta... pois não está gerando a mesma...
não sei o que fazer...