paribe
Abril 23, 2009, 1:10pm
#1
Olá,
tem como fazer em uma pagina jsp procurar na maquina do client o diretório que quero gravar um arquivo
usei o codigo abaixo mas tem que escolher um arquivo e o que quero é escolher o diretório pois o nome do arquivo
vou gerar internamente …
se alguém puder me ajudar …agradeceria…
abs
<INPUT TYPE="FILE" NAME="file1" SIZE="50">
basta vc dar opção de fazer donwload, busque no proprio furum como fazer isso.
paribe
Abril 23, 2009, 1:37pm
#3
obrigado mas não quero fazer download…
o quero é ter em meu jsp um botão que clico e escolho o diretório que vou salvar no client
um relatorio jeito em jasper…
somente isso …teria outra forma de não usar esse download …
abs
Se entendi bem, você quer dar a opçao para o usuário onde ele salvar um arquivo, ou seja, o usuário fará um download.
Voce precisa acrescentar o header do seu response:
// Configurar o Header do response.
response.setContentType("application/x-download");
response.setHeader("Content-Disposition", "attachment; filename=" + filename);
// Send the file.
OutputStream out = response.getOutputStream( );
//codigo pra mandar o arquivo pro stream...
http://www.onjava.com/pub/a/onjava/excerpt/jebp_3/index2.html
Ainda não resolve o problema do Paribe. É que o seu código só permite alterar o nome-base do arquivo, não o diretório.
O diretório onde o arquivo será salvo é problema do usuário com o browser, por questoes de segurança.
O máximo que se faz é dizer: “Olha, eu to te oferecendo um download… o que voce vai fazer com isso???”
paribe
Abril 23, 2009, 1:56pm
#7
obrigado pelo retorno …
deu certo o que queria gerou e gravei onde queria no client …obrigadão…
e vou enviar o codigo se alguém caiu nesse problema…
JasperReport relatoriosJasper = (JasperReport)JRLoader.loadObject(jasperURL);
JasperPrint jasperPrint = JasperFillManager.fillReport(relatoriosJasper, parameters, con);
response.setContentType("application/x-download");
response.setHeader("Content-Disposition", "attachment; filename=" + relatoriosJasper.getName());
JRXlsExporter xls=new JRXlsExporter();
OutputStream output = response.getOutputStream( );
xls.setParameter(JRXlsExporterParameter.JASPER_PRINT, jasperPrint);
xls.setParameter(JRXlsExporterParameter.OUTPUT_STREAM,output);
xls.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE);
xls.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,Boolean.TRUE);
xls.setParameter(JRXlsExporterParameter.MAXIMUM_ROWS_PER_SHEET,Integer.decode("65000"));
xls.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE);
xls.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE);
xls.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
System.out.println("Before Exporting to XLS");
xls.exportReport();