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???
A
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
R
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…
R
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.
A
alexfe
R
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