Estou precisando abri um arquivo excel fora do browser, a minha aplicação gera o arquivo e abre uma tela para voce escolher se quer salvar o arquivo ou abrir, porem quando peço pra ele abrir ele abre dentro do browser e eu preciso que esse arquivo, quando for solicitado abrir, ele abra fora do browser.
Alguem ja fez algo parecido e pode me ajudar.
OBS.Estou usando java1.4 e Struts 1.2.
Cara valew mas o que eu preciso seja que pela classe java abra um arquivo que é o nome é gerado dinamicamente.
Mas valew
Ate mais
Giulliano
certo…eu tenho uma servlet que faz isso e não abre no browser…segue o fonte:
File xls = new File(relatorio.getVersaoXls());
byte [] array = getBytesFromFile(xls); //chamada a um metodo
response.setContentType("application/xls");
response.setHeader("Content-Disposition","attachment; filename=relatorio-" + new Date() + ".xls");
response.setContentLength(array.length);
ServletOutputStream servletOutPutStream = response.getOutputStream();
servletOutPutStream.write(array, 0, array.length);
servletOutPutStream.flush();
servletOutPutStream.close();
o método chamado na segunda linha
privatebyte[]getBytesFromFile(Filefile){InputStreaminputStream=null;byte[]bytes=null;try{inputStream=newFileInputStream(file);longlength=file.length();if(length>Integer.MAX_VALUE){// File is too large}bytes=newbyte[(int)length];// Read in the bytesintoffset=0;intnumRead=0;while(offset<bytes.length&&(numRead=inputStream.read(bytes,offset,bytes.length-offset))>=0){offset+=numRead;}// Ensure all the bytes have been read inif(offset<bytes.length){System.out.println("Could not completely read file "+file.getName());}inputStream.close();}catch(FileNotFoundExceptione){e.printStackTrace();}catch(IOExceptione){e.printStackTrace();}returnbytes;}
É dinâmico e não possui links…ok…
[]'s
K
Kalunga
Giulliano, valew pela ajuda funcionou perfeito
Vou deixar aqui pra quem quizer abrir o arquivo dentro do browser é só substituir nesta linha
response.setHeader("Content-Disposition","attachment; filename=relatorio-" + new Date() + ".xls");