Estou em duvida se tento salvar a imagem em disco ou no banco.
Qual seria a melhor opção?
Estou em duvida se tento salvar a imagem em disco ou no banco.
Qual seria a melhor opção?
Estou em duvida se tento salvar a imagem em disco ou no banco.Qual seria a melhor opção?
Geralmente é em disco. Além de ser consideravelmente mais barato, é mais fácil para transformar em url, para fazer backup, para carregar e restaurar, converter, usar outros programas sobre ela, etc.
Depende das políticas de segurança, padrões da empresa, requisitos, etc.
Geralmente guardar em banco tem a vantagem de manter integridade com demais informações do banco, backup/restore único, mesmo tipo de profissional pra administrar, etc. Sendo decidido guardar em banco, é altamente recomendável criar tabelas de blobs em tablespace separado em outra unidade de armazenamento.
Únicas vantagens que vejo de gravar diretamente em file system é barateamento e facilidade de desenvolvimento como já foi falado pelo colega acima.
Outros fatores a considerar: quantidade e tamanho das imagens.
Eu não sabia que era tão difícil implementar FileUpload para salvar em disco com integração com o banco, eu comprei um livro, porém esse livro era de 2008 com JSF 1.5 e não tive nenhum resultado, eu posto minhas duvidas nos fóruns da vida e nenhum resultado, não o que fazer pelo amor de Deus.
Eu já fiz em PHP e foi bem simples, mas em Java estou quebrando mesmo a cabeça.
faz em PHP, o usuário não vai notar diferença mesmo…
Eu não sabia que era tão difícil implementar FileUpload para salvar em disco com integração com o banco, eu comprei um livro, porém esse livro era de 2008 com JSF 1.5 e não tive nenhum resultado, eu posto minhas duvidas nos fóruns da vida e nenhum resultado, não o que fazer pelo amor de Deus.Eu já fiz em PHP e foi bem simples, mas em Java estou quebrando mesmo a cabeça.
Mesmo com Java voce pode fazer em HTML puro similar ao que se faz em PHP. Simplicidade é genial.
Só pra ilustrar segue um exemplo usando o Spring MVC: http://www.pablocantero.com/blog/2010/09/29/upload-com-spring-mvc/
Logicamente mesmo com a solucao similar no lado client, PHP ainda é mais simples que Java. Tambem pode fazer sem framework nenhum, usando diretamente servlet, mas profissionalmente não é usado, é mais para aprendizado.
Questao do banco é um assunto a parte. Resolva primeiro o upload para a memoria do webserver. Ou se tiver misturando os problemas, explique mais diretamente o problema pois JSF nao tem relacao com gravar no banco.
Eu não sabia que era tão difícil implementar FileUpload para salvar em disco com integração com o banco, eu comprei um livro, porém esse livro era de 2008 com JSF 1.5 e não tive nenhum resultado, eu posto minhas duvidas nos fóruns da vida e nenhum resultado, não o que fazer pelo amor de Deus.Eu já fiz em PHP e foi bem simples, mas em Java estou quebrando mesmo a cabeça.
Ficou difícil por voce estar usando JSF. Nao use JSF, só vai te atrapalhar, a nao ser que você faça doutorado em JSF pra saber usa-lo bem. Eu pelo menos não tenho a menor capacidade de aprender plenamente JSF.Mesmo com Java voce pode fazer em HTML puro similar ao que se faz em PHP. Simplicidade é genial.
Só pra ilustrar segue um exemplo usando o Spring MVC: http://www.pablocantero.com/blog/2010/09/29/upload-com-spring-mvc/
Logicamente mesmo com a solucao similar no lado client, PHP ainda é mais simples que Java. Tambem pode fazer sem framework nenhum, usando diretamente servlet, mas profissionalmente não é usado, é mais para aprendizado.
Questao do banco é um assunto a parte. Resolva primeiro o upload para a memoria do webserver. Ou se tiver misturando os problemas, explique mais diretamente o problema pois JSF nao tem relacao com gravar no banco.
O que você acha do FrameWorks Vraptor?
Eu não sabia que era tão difícil implementar FileUpload para salvar em disco com integração com o banco, eu comprei um livro, porém esse livro era de 2008 com JSF 1.5 e não tive nenhum resultado, eu posto minhas duvidas nos fóruns da vida e nenhum resultado, não o que fazer pelo amor de Deus.Eu já fiz em PHP e foi bem simples, mas em Java estou quebrando mesmo a cabeça.
Ficou difícil por voce estar usando JSF. Nao use JSF, só vai te atrapalhar, a nao ser que você faça doutorado em JSF pra saber usa-lo bem. Eu pelo menos não tenho a menor capacidade de aprender plenamente JSF.Mesmo com Java voce pode fazer em HTML puro similar ao que se faz em PHP. Simplicidade é genial.
Só pra ilustrar segue um exemplo usando o Spring MVC: http://www.pablocantero.com/blog/2010/09/29/upload-com-spring-mvc/
Logicamente mesmo com a solucao similar no lado client, PHP ainda é mais simples que Java. Tambem pode fazer sem framework nenhum, usando diretamente servlet, mas profissionalmente não é usado, é mais para aprendizado.
Questao do banco é um assunto a parte. Resolva primeiro o upload para a memoria do webserver. Ou se tiver misturando os problemas, explique mais diretamente o problema pois JSF nao tem relacao com gravar no banco.
O que você acha do FrameWorks Vraptor?
Eu não sabia que era tão difícil implementar FileUpload para salvar em disco com integração com o banco, eu comprei um livro, porém esse livro era de 2008 com JSF 1.5 e não tive nenhum resultado, eu posto minhas duvidas nos fóruns da vida e nenhum resultado, não o que fazer pelo amor de Deus.Eu já fiz em PHP e foi bem simples, mas em Java estou quebrando mesmo a cabeça.
Ficou difícil por voce estar usando JSF. Nao use JSF, só vai te atrapalhar, a nao ser que você faça doutorado em JSF pra saber usa-lo bem. Eu pelo menos não tenho a menor capacidade de aprender plenamente JSF.Mesmo com Java voce pode fazer em HTML puro similar ao que se faz em PHP. Simplicidade é genial.
Só pra ilustrar segue um exemplo usando o Spring MVC: http://www.pablocantero.com/blog/2010/09/29/upload-com-spring-mvc/
Logicamente mesmo com a solucao similar no lado client, PHP ainda é mais simples que Java. Tambem pode fazer sem framework nenhum, usando diretamente servlet, mas profissionalmente não é usado, é mais para aprendizado.
Questao do banco é um assunto a parte. Resolva primeiro o upload para a memoria do webserver. Ou se tiver misturando os problemas, explique mais diretamente o problema pois JSF nao tem relacao com gravar no banco.
Quer dizer que não se pode fazer upload com JSF ? muito extranho isso.
É um recurso básico necessário para o modelo Web hoje.
Posso está reclamando por não saber usar a abordagem de deixar as imagens no disco e gravar no banco apenas o caminho do local da imagem, mas deve ser algo simples.
É muito fácil dizer que é difícil de fazer quando não se sabe fazer, qualquer um pode dizer que é difícil.
Eu não sabia que era tão difícil implementar FileUpload para salvar em disco com integração com o banco, eu comprei um livro, porém esse livro era de 2008 com JSF 1.5 e não tive nenhum resultado, eu posto minhas duvidas nos fóruns da vida e nenhum resultado, não o que fazer pelo amor de Deus.Eu já fiz em PHP e foi bem simples, mas em Java estou quebrando mesmo a cabeça.
Ficou difícil por voce estar usando JSF. Nao use JSF, só vai te atrapalhar, a nao ser que você faça doutorado em JSF pra saber usa-lo bem. Eu pelo menos não tenho a menor capacidade de aprender plenamente JSF.Mesmo com Java voce pode fazer em HTML puro similar ao que se faz em PHP. Simplicidade é genial.
Só pra ilustrar segue um exemplo usando o Spring MVC: http://www.pablocantero.com/blog/2010/09/29/upload-com-spring-mvc/
Logicamente mesmo com a solucao similar no lado client, PHP ainda é mais simples que Java. Tambem pode fazer sem framework nenhum, usando diretamente servlet, mas profissionalmente não é usado, é mais para aprendizado.
Questao do banco é um assunto a parte. Resolva primeiro o upload para a memoria do webserver. Ou se tiver misturando os problemas, explique mais diretamente o problema pois JSF nao tem relacao com gravar no banco.
Quer dizer que não se pode fazer upload com JSF ? muito extranho isso.
É um recurso básico necessário para o modelo Web hoje.Posso está reclamando por não saber usar a abordagem de deixar as imagens no disco e gravar no banco apenas o caminho do local da imagem, mas deve ser algo simples.
É muito fácil dizer que é difícil de fazer quando não se sabe fazer, qualquer um pode dizer que é difícil.
Sobre guardar no banco, é outro assunto separado, nem envolve discussão sobre JSF. O que você quer resolver neste momento, envio da imagem para o webserver usando JSF ou persistir imagem no banco? Se for os dois, resolve um problema de cada vez. Guardar imagem no banco é fácil, você só precisa nos informar o que está usando para a persistência, se está usando framework ou direto JDBC.
Aqui tem um exemplo sem usar frameworks, mas serve como base: http://javaandj2eetutor.blogspot.com.br/2013/12/upload-image-file-into-database-using_3150.html
Eu não sabia que era tão difícil implementar FileUpload para salvar em disco com integração com o banco, eu comprei um livro, porém esse livro era de 2008 com JSF 1.5 e não tive nenhum resultado, eu posto minhas duvidas nos fóruns da vida e nenhum resultado, não o que fazer pelo amor de Deus.Eu já fiz em PHP e foi bem simples, mas em Java estou quebrando mesmo a cabeça.
Ficou difícil por voce estar usando JSF. Nao use JSF, só vai te atrapalhar, a nao ser que você faça doutorado em JSF pra saber usa-lo bem. Eu pelo menos não tenho a menor capacidade de aprender plenamente JSF.Mesmo com Java voce pode fazer em HTML puro similar ao que se faz em PHP. Simplicidade é genial.
Só pra ilustrar segue um exemplo usando o Spring MVC: http://www.pablocantero.com/blog/2010/09/29/upload-com-spring-mvc/
Logicamente mesmo com a solucao similar no lado client, PHP ainda é mais simples que Java. Tambem pode fazer sem framework nenhum, usando diretamente servlet, mas profissionalmente não é usado, é mais para aprendizado.
Questao do banco é um assunto a parte. Resolva primeiro o upload para a memoria do webserver. Ou se tiver misturando os problemas, explique mais diretamente o problema pois JSF nao tem relacao com gravar no banco.
Quer dizer que não se pode fazer upload com JSF ? muito extranho isso.
É um recurso básico necessário para o modelo Web hoje.Posso está reclamando por não saber usar a abordagem de deixar as imagens no disco e gravar no banco apenas o caminho do local da imagem, mas deve ser algo simples.
É muito fácil dizer que é difícil de fazer quando não se sabe fazer, qualquer um pode dizer que é difícil.
Se a pessoa tiver disposta a gastar tempo e energia no mundo particular do JSF, logicamente consegue fazer e evoluir. Pra mim seria só um obstaculo desnecessario e overhead para o resultado.Sobre guardar no banco, é outro assunto separado, nem envolve discussão sobre JSF. O que você quer resolver neste momento, envio da imagem para o webserver usando JSF ou persistir imagem no banco? Se for os dois, resolve um problema de cada vez. Guardar imagem no banco é fácil, você só precisa nos informar o que está usando para a persistência, se está usando framework ou direto JDBC.
Aqui tem um exemplo sem usar frameworks, mas serve como base: http://javaandj2eetutor.blogspot.com.br/2013/12/upload-image-file-into-database-using_3150.html
Esta salvando perfeitamente no banco esse projeto no gitHub, mas o que eu queria mesmo é a abordagem de deixar a imagem no disco e armazenar no banco apenas o caminho das imagens.
O caminho você pode adotar um caminho padrão como no exemplo, ou gravar numa tabela de configuração no banco. O nome do arquivo logicamente num campo junto a tabela relacionada a informação.
quando a imagem é pequena, eu custumo codifica-la em base64 e salvar como string. Se for grande, guarde apenas a url.