Criar arquivo (File) em uma pasta dentro do Webcontent
14 respostas
P
Pacato
Pessoal,
Li algumas coisas por ai, mas não entendi direito o processo...
Uso o método para criar o arquivo:
publicFileNomeExcelRelatorio(Stringlogin){//ADICIONA DATA/HORA NO ARQUIVO GERADOGregorianCalendarcalendar=newGregorianCalendar();SimpleDateFormatformatador=newSimpleDateFormat("dd' de 'MMMMM' de 'yyyy");Filedir=newFile("arquivoUpload");if(dir.mkdir()){System.out.println("Diretório criado com sucesso!");}Filearq=newFile(dir,login+"_Relatorio_Atual - "+formatador.format(calendar.getTime())+".xls");returnarq;}
Gero o arquivo belezinha.. mas em um diretório dentro do diretório do Eclipse... e no Windows ou no Linux ele cria aleatoriamente em algum lugar.
Queria já deixar um diretório dentro do webContent --> Diretório
e ai gravar esse arquivo lá...
Sei que é um assunto que tem bastante coisa por ai, mas eu queria um modo de aprender melhor...
Mas como trataria? vc poderia me dar uma explicação destes métodos???
alexfe
Essa pasta webcontent faz parte do padrão de projeto web em java, vc teria que ter um controller com um metodo recebendo o request do navegados assim vc teria acesso a esses objetos e metodos. vc vai ver que cara metodo retorna um detalhe sobre o caminho fisico do projeto
rodrigo.uchoa
O caminho é esse ai que o alexafe falou. Na API Servlet você consegue recuperar informações sobre o caminho onde a aplicação está rodando no servidor.
Só lembrar de um detalhe: Essa pasta “WebContent” na verdade é um padrão de projeto fonte do Eclipse. Em tempo de execução ela não vai existir. Na verdade tudo que fica dentro dela fica na raiz do projeto WEB, junto com o diretório WEB-INF.
Então não espere usar um daqueles métodos e ver algum path retornando com “WebContent” no meio, já que quando seu projeto for empacotado e jogado no servidor ela não vai existir mais.
P
Pacato
entendi pessoal, obrigado pelas respostas…
Vcs teriam alguma sugestão? pois preciso criar um diretório para guardar os arquivos processados…
rodrigo.uchoa
Você quer que esse arquivo fique visível para ser acessado como recurso web? Tipo digitando o caminho dele no navegador? Como se faz com imagens normalmente.
alexfe
rodrigo.uchoa
Enfim, se você quer o diretório raiz de onde a aplicação está rodando no servidor, é só fazer isso aqui (JSF):
não precisa de acessar por web… só a aplicação… para pegar apenas… (botão download)
Muito obrigado mesmo pelas dicas
P
Pacato
Pessoal, ainda não sei qual melhor solução para isso.. eu crio um arquivo excel e faço o download por um botão e depois exclui do diretório... mas no Chrome não funciona... MAS, só no servidor, pois local funciona