Upload de arquivo fora do contexto tomcat

7 respostas
liginhams

Olá. Eu tenho um site com sistema de uploads de imagens, tá funcionando direitinho. Mas toda vez que vou atualizar o projeto, colocar um novo .WAR no servidor, ele apaga as imagens que tinha sido colocadas lá, pois elas estão em /meucontexto/imagens.
Então antes de subir um novo projeto, tenho que fazer um backup das imagens e depois devolver. Esse recurso foi implatado há pouco tempo, então não deu grandes problemas, AINDA.

Eu queria saber se tem como fazer o upload para uma pasta fora do contexto. Alguém já fez isso? Tipo assim, colocar as imagens em /imagens, assim toda vez que atualizasse o war, não perderia as imagens que estavam lá.
Estou tentando, mas ainda não obtive sucesso.

Obrigada,

Lígia M.

7 Respostas

Lucas_Sorrentino

Nossa, me deparei exatamente com esse problema hoje. Bem, caso alguém possa ajudar, por favor, poste. Caso eu consiga resolver aqui, eu posta a resolução.

davidbuzatto

Uai, claro que tem… Vc testou?
É só definir o diretório onde vc quer salvar, afinal, o tomcat é uma aplicação que está rodando em uma máquina.
Se tiver usando linux, o usuário que roda o tomcat tem que ter permissões de escrita na pasta desejada.

[]'s

liginhams

testei e mudei as permissões também.
Vou buscar aqui o que tá faltando.
Obrigada de qualquer forma :stuck_out_tongue:

S

Alguem conseguiu?

ainda não consegui salvar arquivos fora do contexto da app.

Lucas_Sorrentino

Eu faço assim… assim ele salva na pasta root…

UploadItem item = event.getUploadItem();
		ByteArrayOutputStream b = new ByteArrayOutputStream();
		b.write(item.getData());
		ServletContext sc = ((ServletContext) FacesContext.getCurrentInstance()
				.getExternalContext().getContext());
		File file = new File(sc.getRealPath("../../fotos/");
		b.writeTo(new FileOutputStream(file));
		uploadsAvailable--;
liginhams

Eu consegui colocando o caminho físico real da pasta no servidor: “/home/minhapasta”

A

Eu estou precisando salvar e ler imagens de fora do contexto do tomcat seria /home/fotos mesmo, estou usando linux, mas não consegui fazer, tentei criar um link simbolico, mas nao leu tambem, quem conseguiu fazer isso, teria como mostrar como foi feito por favor…Meu projeto depende 100% disto…Obrigado

Criado 28 de janeiro de 2011
Ultima resposta 14 de set. de 2011
Respostas 7
Participantes 5