Eu preciso carregar uma imagem no meu .jsp e esta imagem está no diretório do meu servidor, como por exemplo F:\Imagens Eu tenho esse endereço, e o nome da imagem salvos na tabela…
Certo, então você usar aqueles diretórios virtuais do tomcat, tem alguns posts meus da antiga que eu explicava como fazer, mas também tem na documentação do container, o legar de usar esses repositorios viruais é que vc mapeia um diretório para algum lugar físico no seu filesystem, veja:
esses exemplos que encontrei são com JSF mas a idéia é a mesma com Vraptor, espero que te ajude, abração.
E
ewertonvd
Boa tarde aix!
Eu gostaria de implementar com base na documentação do VRaptor, mas não estou conseguindo…
Pois eu tenho dois campos na tabela produto, um para “localImagem” e outro para “imagem”, que possui o "nomeDaImagem.jpg "
Eu preciso passar para o .jsp como parâmentro o endereco+nome da imagem, para que ela seja carregada…
E para isso no VRaptor eu preciso criar um controller…
Até ai tudo bem:
Mas e depois… Como essa informação chega do .jsp ??
E
ewertonvd
Pessoal não estou conseguindo progredir com esse problema…
Alguém pode me explicar a infraestrutura que eu devo criar…
Ou algum exemplo…
Obrigado!!!
A
aix
Ola Ewertonvd,
desculpe a demora em responder mas acabei me mudando e fiquei sem net, não é permitido acessar o filesystem através do browser, ous eja: não da para montar o caminho assim, até pode, mas não é como você pensa, se fosse acesso local eu penso que dependendo do browser poderia utilizar o file:// mas não vai funcionar para a aplicação, na sua app o correto é utilizar os diretórios virtuais conforme comentei com você, ou então salva a imagem no banco, menos performático mas melhor do que ter que criar alguma bruxaria com HTML5 ou alguma velharia com Applet.
E
ewertonvd
Bom dia aix!
Cara agora eu estou somente com o ImagemController:
MeuImagemController,comosprint´s:packagebr.com.empresa.controller;importjava.io.File;importjavax.inject.Inject;importbr.com.caelum.vraptor.Controller;importbr.com.caelum.vraptor.Get;importbr.com.empresa.dao.ProdutoDao;importbr.com.empresa.modelo.Produto;@ControllerpublicclassImagemController{@InjectprivateProdutoDaoprodutoDao;@Get("download/{id}")publicFileimgProduto(Integerid){Produtoproduto=produtoDao.buscaProdutoPorId(id);Stringcaminho=produto.getLocalImagem()+"\\"+produto.getImagem();/* Trocando '/' por '\\' */caminho=caminho.replace("\\","\\\\");/* Verificando se o caminho aponta para uma imagem */if(!caminho.contains(".jpg")){returnnull;}else{Filearquivo=newFile(caminho);returnarquivo;}}}
E o link para a imagem no meu .jsp, estou testando de duas formas:
O problema é que eu não posso criar o arquivo nomedasuaaplicação#resenhadabolafotos.xml e gravar no diretório do usuário, porque a aplicação será acessada externamente… Não só na minha rede interna…
Você comentou no inicio do post que o diretório estaria no seu servidor
logo pode pode mapear, nem que seja o diretório root, crie uma estrutura ex: c:\imagens\client_one\imagem01.jpg, c:\imagens\client_two\imagem02.jpg o diretório mapeado ficaria c:\imagens com o docdir imagem, apartir dele você pode gerar várias estruturas de diretórios tanto para ler quanto para salvar, ai seu HTML vai conseguir interpretar:
E
ewertonvd
A principio a aplicação irá ficar na minha rede sim, mas posteriormente eu irei disponibilizá-la para fora…
Implementei com base em um e-book, não deu certo…
Alterei com a ajuda dos fóruns, mas também não estou conseguindo mostrar as imagens…
Já não estou mais entendendo a estrutura…
E
ewertonvd
A principio a aplicação irá ficar na minha rede sim, mas posteriormente eu irei disponibilizá-la para fora…
Implementei com base em um e-book, não deu certo…
Alterei com a ajuda dos fóruns, mas também não estou conseguindo mostrar as imagens…
Já não estou mais entendendo a estrutura…
A
aix
Entendo, do modo que te proponho você teria esta feature, mas concordo com vc, tem que fundamentar a ideia, o que me ajuda quando fico na frente de dúvidas é desenhar a aplicação, os módulos se a mesma tem, a arquitetura estrutural do projeto, assim já mapeamos vários problemas que poderiam ocorrer no desenvolvimento.