Boa tarde galera,seguinte,como que eu faço para salvar um arquivo txt upado,dentro de uma pasta no meu projeto ?
Estou utilizando primefaces + JSF 2
conseguiu upar o arquivo?
tenta fazer com File.
o prime tem alguns recursos bacana p/ upload e se não me engano a documentação até explicar como criar fisicamente o arquivo.
att,
Você pode usar o fileUpload http://www.primefaces.org/showcase-labs/ui/fileUploadSingle.jsf
Dá uma olha que tem várias opções inclusive com drag and drop
Bom, olhando a documentação do primefaces,consegui upar o arquivo e como que eu faço para salvar ele fisicamente ?
Exemplo: “/arquivoUpado/”, dentro do meu projeto.
Opa…Vc deve ter uma metodo parecido com esse no seu ManagedBean:
private byte[] txt;
public void listener(FileUploadEvent event) throws Exception {
txt = event.getUploadedFile().getData();
}
Agora é so vc criar um método criarArquivo, e invoca-lo pela pagina web:
public void criaArquivo() throws IOException {
FileOutputStream fos = new FileOutputStream("D:/Arquivos/NomeArquivo.txt");
fos.write(txt);
fos.close();
}
[]'s
Obrigado,me ajudou muito,eu estava conseguindo upar arquivo,só que não conseguia definar uma pasta para ele ser salvo.
Para definir a pasta você precisa do servlet context. Olha um exemplo:
ServletContext context = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();
String path = context.getRealPath("/pasta"); // Aqui, ele irá retornar o caminho completo da pasta que acessada pelo browser seria: localhost:8080/suaaplicacao/pasta
File arquivo = new File(path, "nomearquivo.txt"); // Aqui você cria o arquivo que ficara dentro do /pasta com nome nomearquivo.txt
Acho que é mais ou menos isso.