olá pessoal,
eu quero saber (d quem jah fez) se vcs costumam, em um sistema web, guardar imagens no banco de dados (estou usando postgresql), ou apenas arquivam e armazenam os caminhos.
eu estou desenvolvendo um prontuário para alunos e preciso guardar suas fotos.
digam lah, eu não tenho experiência e preciso d ajuda.
Tem gente que usa uma abordagem híbrida.
Ou seja, cadastra as imagens no banco, mas quando da primeira requisição, copia-as para o diretório de arquivos estáticos (imagens, arquivos HTML, CSS etc.).
Se a imagem já estiver no diretório, não é preciso recuperá-la do banco.
Se o número de imagens for muito grande para deixá-las no diretório de arquivos estáticos, e as imagens só forem usadas durante um período curto (por exemplo, em um site de um jornal, não é preciso deixar imagens durante mais de uma semana), você pode limpar periodicamente essas imagens.
É que o tratamento de BLOBs acaba atrelando ao banco.
Um BLOB normalmente não pode ser criado, apenas modificado ou lido; só dá para criá-lo com alguma classe específica do banco de dados. Além disso, os drivers JDBC normalmente são muito bugados quanto ao tratamento de BLOBs (leia-se Oracle), então você acaba tendo de usar alguma classe específica do seu banco (por exemplo “oracle.jdbc.algumacoisa”.)
[quote=facholi]olá pessoal,
eu quero saber (d quem jah fez) se vcs costumam, em um sistema web, guardar imagens no banco de dados (estou usando postgresql), ou apenas arquivam e armazenam os caminhos.
eu estou desenvolvendo um prontuário para alunos e preciso guardar suas fotos.
digam lah, eu não tenho experiência e preciso d ajuda.
obrigado[/quote]
use um campo BLOB (Binary Large Object).
[quote=thingol]É que o tratamento de BLOBs acaba atrelando ao banco.
Um BLOB normalmente não pode ser criado, apenas modificado ou lido; só dá para criá-lo com alguma classe específica do banco de dados. Além disso, os drivers JDBC normalmente são muito bugados quanto ao tratamento de BLOBs (leia-se Oracle), então você acaba tendo de usar alguma classe específica do seu banco (por exemplo “oracle.jdbc.algumacoisa”.)
[/quote]
Não pode ser criado? Então como ele nasce???
Tive algumas noites perdidas tentando trabalhar com PDF e PNG dentro de BLOB no Oracle. Pior ainda quando tive que adequar um DB com esses dados, de MySQL para Oracle.
Garantia de perder alguns dias do seu feriado estudando isso.
Eu acho mais adequado guardar só as referências para imagens.