Pessoal é o seguinte, eu consigo fazer upload e salvar imagens tanto no banco como em um diretório no build da minha aplicação,
mas tive alguns problemas com Lentidão salvando no banco e uns problemas com deploys feitos sem cuidado salvando no build.!
Agora estou mudando a aplicação para salvar em um diretório que não apague as imagens no deploy, já consigo salvar tudo direitnho, só gostaria de saber
Existe uma forma de Recuperar essas imagens e exibillas na tela pegando direto dessa pasta ou terei que criar um sistema de backup?
Segue o código da forma como estou salvando as imagens!
[code]
public void uploadImagen(FileUploadEvent event)
{
try
{
UploadedFile uf = event.getFile();
InputStream in = new BufferedInputStream(uf.getInputstream());
File file = new File("C://Windows//Temp//ImagesBC//" + uf.getFileName());
String caminho = file.getAbsolutePath();
FileOutputStream fos = new FileOutputStream(file);
while(in.available() != 0)
{
fos.write(in.read());
}
fos.close();
}
catch(Exception ex)
{
ex.printStackTrace();
}
}[/code]
Se alguém puder ajudar com isso, ou indicar uma solução mais viável (Que acredito que exista) agradeço, por enquanto só estou pesquisando sobre o assunto!
Não sei dizer com outros servidores, mas no glassfish, é possivel criar um servidor virtual onde voce indica a pasta onde estão as imagens, tornando-as acessiveis direto pelo jsf por exemplo apenas colocando:
Realmente não consegui acessar o conteúdo dentro do diretório no tomcat, encontrei alguns exemplos de como criar mas não obtive sucesso!
Sempre me retorna um 404!!
Se alguém tiver conhecimento sobre o tomcat e puder me ajudar nisso agradeço!
Fala ae cara!
No tomcat nunca fiz, mas, pelo q vc mostrou o seu docbase nao seria apenas “c:/” e o path: “imagesBC”?
Vc seguiu algum tutorial q eu possa dar uma olhada?
Vou testar aqui, vê se funciona… Qlqr coisa te falo.
1 - Vá na pasta “C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf\Catalina\localhost” (ou onde voce instalou o seu tomcat)
2 - Crie um arquivo chamado: seu contextpath#nomedodiretorioquevocedeseja.xml
3 - Dentro deste arquivo coloque:
4 - Reinicie o tomcat.
Entendendo:
o nome do arquivo será o "diretorio na url"
Por exemplo, sendo o nome do arquivo ProjectTomCat#imagens#testando.xml
Para acessar o diretorio será: localhost:8080/ProjectTomCat/imagens/testando/nome-do-arquivo-a-ser-acessado-.extesao
dentro deste arquivo, voce colocará o e no docBase o caminho para esta pasta. no exemplo, a minha seria f:imagens.
Sendo que nesta pasta contem o arquivo tarlix.jpg. No jsf ficaria:
<p:graphicImage value="imagens/tarlix.jpg" />
Qlqr duvida, posta ae. Espero que funcione.
Abrcs. =D
Olá Tarlix, estou tendo o mesmo problema e mesmo seguindo suas dicas ainda não consegui resolver. Gostaria de utilizar na configuração do próprio projeto, pois dentro da pasta META-INF já contem o arquivo context.xml o qual eu posso referenciar as minhas imagens. Você conseguiu resolver também desta forma?
Anderson, faz muito tempo que nao preciso configurar essas coisas no tomcat ou qualquer outro servidor. No meta-inf nunca fiz e não faço ideia de como seja. Porém, voce pode tentar fazer do mesmo jeito que seria feito diretamente no tomcat.
Pelo context que achei em outra pergunta que voce fez, nao consegui entender o que está querendo: Voce tá querendo configurar uma pasta de dentro do proprio projeto ou uma pasta externa? pq a questao no topico é uma pasta externa.
No exemplo que postei como solução do tópico, tem um site que segui para fazer funcionar, acredito que voce tenha feito alguma configuração errada.
Olá amigo Tarlix, tudo bem sim.
Bem sobre a configuração ela é externa, porém eu queria configurar no meu projeto de desenvolvimento para não ter que testar apenas em produção. Sobre a pasta ela é realmente fora do contexto em um diretório externo da aplicação.
Cara, dessa forma utilizando Blob nao sei o que pode ser. Tem que ver se os bytes estão certos.
O que é essa variavel “arquivo”? qual é o tipo? faz assim: arquivo.getBytes()
Me fala como voce tentou configurar uma pasta externa. Qual nome do arquivo que voce colocou no meta-inf e o conteudo dele.
Por ultimo, mesmo voce estando desenvolvendo localmente, voce pode fazer a configuração no seu tomcat que está utilizando para desenvolver. Normal isso.