| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/11/2007 14:19:24
|
webeverton
Java Ninja
Membro desde: 22/01/2007 15:10:53
Mensagens: 288
Localização: Porto Alegre/RS
Offline
|
Opa.
Galera... tenho um componente para upload de arquivos, no JSF... Ele se chama "imagem".
Tenho que pegar os dados dele e inserir em um campo bytea, do postgres...
Como faço!?
Tentei assim:
Nenhum dos 3 funcionou...
Se eu uso inputStream, não cadastra nada... Se uso string, não cadastra também... e byte[] cria 4 ou 5 caracteres... (também está errado).
O método que cadastra:
No caso, este método está como deixei no último teste... recebendo uma string...
enfim...
alguma idéia?!
valeu gurizada...
|
"Gosto é como braço... Alguns nascem sem..."
http://www.tuacara.com.br - Cada vez melhor!
http://www.mondes.com.br - Acesse e confira o portfólio. |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/11/2007 15:11:47
|
CintiaDR
JavaEvangelist
![[Avatar]](/images/avatar/48b508b64892bdf1d3a44e6de12e146a.jpg)
Membro desde: 01/10/2007 06:49:30
Mensagens: 476
Localização: Curitiba - PR
Offline
|
Desculpa, não entendi o lance.
Ok, JSF. Vc não está usando o fileUpload do Tomahawk, estaria? Eu usei ele e foi susse.
O seu problema é que o arquivo não está chegando no MBean ou está chegando no MBean e não está sendo gravado?
|
Faça Perguntas Inteligentes - NÃO me pergunte como
PelaMorDeQualquerCoisa, o GUJ não é penico! Google é seu amigo! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/11/2007 15:31:05
|
webeverton
Java Ninja
Membro desde: 22/01/2007 15:10:53
Mensagens: 288
Localização: Porto Alegre/RS
Offline
|
bom, eu consigo ler o conteúdo do arquivo...
to fazendo debug, e consigo ver o conteúdo dele dentro das variáveis...
mas na hora de salvar dentro do campo bytea, eu não sei qual tipo de variavel devo enviar, pois nenhuma delas está sendo salva.... ele está inserindo um novo registro, sem nenhuma informação no campo que deveria ser a imagem.
tentei string, byte[] e InputStream, mas esses não funcionaram (ou eu não soube fazê-lo).
Nos códigos que postei acima, está a forma como tentei...
Agora, já estou tentando de outra forma:
Enfim... sei lá...
|
"Gosto é como braço... Alguns nascem sem..."
http://www.tuacara.com.br - Cada vez melhor!
http://www.mondes.com.br - Acesse e confira o portfólio. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/11/2007 15:52:25
|
CintiaDR
JavaEvangelist
![[Avatar]](/images/avatar/48b508b64892bdf1d3a44e6de12e146a.jpg)
Membro desde: 01/10/2007 06:49:30
Mensagens: 476
Localização: Curitiba - PR
Offline
|
Olha, usando o Hibernate, eu usei byte[] mesmo, e mapeei como @Lob
Só que eu tive problemas com arquivos maiores que 4k, então precisei pegar o driver atual (eu uso oracle).
Ah, na tabela no banco de dados é tipo Blob.
Olha como eu fiz:
JSP
MBean ConteudoBean
Entidade Conteudo
This message was edited 5 times. Last update was at 13/11/2007 17:24:59
|
Faça Perguntas Inteligentes - NÃO me pergunte como
PelaMorDeQualquerCoisa, o GUJ não é penico! Google é seu amigo! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/11/2007 15:58:23
|
webeverton
Java Ninja
Membro desde: 22/01/2007 15:10:53
Mensagens: 288
Localização: Porto Alegre/RS
Offline
|
bah... então acho que to lascado...
eu tenho que migrar de um oracle pra um postgres, mais de 10000 imagens, que estavam em um sistema em delphi... preciso conseguir ler estes arquivos e gerar as imagens, além de salvar imagens no mesmo formato.
a vida não é um ki-suco... hehehehe
bom, vou continuar na luta.
valeu!
|
"Gosto é como braço... Alguns nascem sem..."
http://www.tuacara.com.br - Cada vez melhor!
http://www.mondes.com.br - Acesse e confira o portfólio. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/11/2007 16:02:50
|
CintiaDR
JavaEvangelist
![[Avatar]](/images/avatar/48b508b64892bdf1d3a44e6de12e146a.jpg)
Membro desde: 01/10/2007 06:49:30
Mensagens: 476
Localização: Curitiba - PR
Offline
|
Olha, eu tive que guardar no banco por requisitos mesmo do sistema, mas no GUJ existem muitas pessoas que aconselham veementemente a guardar apenas um link do arquivo no banco, e salvar a imagem no SERVIDOR de arquivos (e não no banco). Veja se isso não cabe a vc....
Faça uma busca e veja
|
Faça Perguntas Inteligentes - NÃO me pergunte como
PelaMorDeQualquerCoisa, o GUJ não é penico! Google é seu amigo! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/11/2007 08:36:31
|
webeverton
Java Ninja
Membro desde: 22/01/2007 15:10:53
Mensagens: 288
Localização: Porto Alegre/RS
Offline
|
o ruim da história é que é um sistema legado... eu tinha pensado nisso, mas esbarrei no ponto onde preciso retirar as imagens do Banco de Dados...
elas estão em um oracle...
enfim... vou continuar na "peleia"...
valeu!
|
"Gosto é como braço... Alguns nascem sem..."
http://www.tuacara.com.br - Cada vez melhor!
http://www.mondes.com.br - Acesse e confira o portfólio. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/11/2007 09:53:47
|
CintiaDR
JavaEvangelist
![[Avatar]](/images/avatar/48b508b64892bdf1d3a44e6de12e146a.jpg)
Membro desde: 01/10/2007 06:49:30
Mensagens: 476
Localização: Curitiba - PR
Offline
|
Mas vc tem o nome desses arquivos, ou pelo menos o tipo? Se tiver, só precisa ir criando os arquivos um por um, com FileOutputStream.
This message was edited 1 time. Last update was at 14/11/2007 09:54:03
|
Faça Perguntas Inteligentes - NÃO me pergunte como
PelaMorDeQualquerCoisa, o GUJ não é penico! Google é seu amigo! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/11/2007 10:34:59
|
webeverton
Java Ninja
Membro desde: 22/01/2007 15:10:53
Mensagens: 288
Localização: Porto Alegre/RS
Offline
|
bom, as coisas são um pouco mais complicadas que isso...
por exemplo, a tabela não tem uma chave primária... além disso, está num oracle8... tive problemas com jdbc, e tive que migrar pra um oracle10...
Enfim... é um grande pepino... como diria um amigo meu "odeio sistemas legados"... hehehehe...
to tentando gerar uma imagem assim:
Quando eu tentava usar getBlob("nome do campo"), dizia que o método não foi implementado...
daí to tentando fazer direto...
mas não vou desistir...
vlwz
|
"Gosto é como braço... Alguns nascem sem..."
http://www.tuacara.com.br - Cada vez melhor!
http://www.mondes.com.br - Acesse e confira o portfólio. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/11/2007 11:25:36
|
webeverton
Java Ninja
Membro desde: 22/01/2007 15:10:53
Mensagens: 288
Localização: Porto Alegre/RS
Offline
|
Aceito sugestões:
Tipo de coluna inválido: getBLOB not implemented for class oracle.jdbc.driver.T4CLongRawAccessor
O google não tem sido muito gentil comigo neste caso... hehehe...
valeu
|
"Gosto é como braço... Alguns nascem sem..."
http://www.tuacara.com.br - Cada vez melhor!
http://www.mondes.com.br - Acesse e confira o portfólio. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/11/2007 13:10:12
|
CintiaDR
JavaEvangelist
![[Avatar]](/images/avatar/48b508b64892bdf1d3a44e6de12e146a.jpg)
Membro desde: 01/10/2007 06:49:30
Mensagens: 476
Localização: Curitiba - PR
Offline
|
webeverton wrote:bom, as coisas são um pouco mais complicadas que isso...
por exemplo, a tabela não tem uma chave primária...
É uma entidade fraca? Mas acho que não há impecilho quanto a isso.
webeverton wrote:
além disso, está num oracle8... tive problemas com jdbc, e tive que migrar pra um oracle10...
Eu tb tive problemas com o JDBC para as versões 8i, peguei o JDBC da 10g e funcionou beleza. Mas o banco continuou sendo o 8i.
webeverton wrote:
Enfim... é um grande pepino... como diria um amigo meu "odeio sistemas legados"... hehehehe...
É, sistemas legados dão pano para manga...
webeverton wrote:
to tentando gerar uma imagem assim:
Quando eu tentava usar getBlob("nome do campo"), dizia que o método não foi implementado...
daí to tentando fazer direto...
mas não vou desistir...
Infelizmente eu não tenho como te ajudar, prq nunca mexi direto com os JDBC da vida, eu tenho usado o Hibernate que esconde essa parte.
No google parece igual ao que vc fez.
Boa Sorte. (E não esqueça de dar notícias aqui no tópico!)
Caracas, eu tenho editado muito meus posts. Tente usar a string "select im_figura_fso from figuras_fso" e veja o que acontece.
This message was edited 3 times. Last update was at 14/11/2007 13:14:16
|
Faça Perguntas Inteligentes - NÃO me pergunte como
PelaMorDeQualquerCoisa, o GUJ não é penico! Google é seu amigo! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/11/2007 13:31:42
|
webeverton
Java Ninja
Membro desde: 22/01/2007 15:10:53
Mensagens: 288
Localização: Porto Alegre/RS
Offline
|
complicado... hehehe...
li que no oracle é preciso usar um driver diferente para tratar campos blob, mas não lembro onde... to perguntando pro mestre google.
agora, uma coisa é certa... quando eu achar uma solução, vou postar aqui, pra que outros não sofram como eu estou sofrendo...
lol
valeu...
|
"Gosto é como braço... Alguns nascem sem..."
http://www.tuacara.com.br - Cada vez melhor!
http://www.mondes.com.br - Acesse e confira o portfólio. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/11/2007 14:58:34
|
CintiaDR
JavaEvangelist
![[Avatar]](/images/avatar/48b508b64892bdf1d3a44e6de12e146a.jpg)
Membro desde: 01/10/2007 06:49:30
Mensagens: 476
Localização: Curitiba - PR
Offline
|
Hahaha Eu estou te explicando o negócio do driver oracle.
É o seguinte: nas versões 8i e 9i do OJDBC não conseguem tratar campos clob/blob com mais de 4k. Segundo um tutorial do hibernate, vc tem vários workarounds, ou mesmo simplesmente baixar a versão 10g do OJDBC. Teoricamente ela funciona bem com a versão 9i do banco, e até agora tem funcionado bem com o 8i para mim.
|
Faça Perguntas Inteligentes - NÃO me pergunte como
PelaMorDeQualquerCoisa, o GUJ não é penico! Google é seu amigo! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/11/2007 15:23:30
|
webeverton
Java Ninja
Membro desde: 22/01/2007 15:10:53
Mensagens: 288
Localização: Porto Alegre/RS
Offline
|
Enfim, a solução....
Minha contribuição sobre como visualizar imagens salvas dentro de um banco postgreSQL, em um campo bytea.
meu servlet:
Era "wilson" então... hehehe
lol
valeu aí CintiaDR...
sobre o hibernate, tô ligado sobre o funcionamento... já utilizo em alguns sistemas... mas a preguiça de fazer a configuração dele, pra apenas alguns testes para um sistema, me fizeram não usar... hehehe
valeu aí gurizada...
This message was edited 2 times. Last update was at 14/11/2007 15:28:18
|
"Gosto é como braço... Alguns nascem sem..."
http://www.tuacara.com.br - Cada vez melhor!
http://www.mondes.com.br - Acesse e confira o portfólio. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/07/2008 08:55:32
|
lusilva1982
Debugger
![[Avatar]](/images/avatar/e2d56b6b53ce40332aec920b78d030c1.jpg)
Membro desde: 16/07/2006 19:41:30
Mensagens: 63
Localização: São Paulo
Offline
|
Olá a todos!
Poxa! com servlets realmente acho que funciona, mas como estou trabalhando com JSF gostaria de setar algum atributo do bean para apenas exibir a imagem em seguida.
Estou utilizando o UploadedFile do Tomahawk e grava sem problemas, porém, quando vou exibir a imagem que não estou conseguindo.
alguma solução pra isto?
thanks
|
"A humildade vem antes da honra."
http://www.lucianosilva.com
|
|
|
 |
|
|