Fórum fotos no banco de dados #245206
31/07/2004
0
faz tempo que tento.
bmp da certo mas o tamanho é o problema...
Crcam
Curtir tópico
+ 0Posts
31/07/2004
Lucas Silva
Isso deixa o banco muito pesado...
Pense duas vezes antes de fazer isto!
Gostei + 0
31/07/2004
Marcelo.c
Gostei + 0
31/07/2004
Bon Jovi
Qto a ficar pesado, somente se for usado dados normais e BLOBS no mesmo banco de dados aí realmente fica uma solução ruim. Usando um bom SGDB, que permita relacionamento entre base de dados diferentes, basta ter uma base pra guardar tabelas de fotos e outra pra tabelas de dados normais. Tipo:
BancoNormal..TAB_FOTOS (Id_Foto[PK], Descricao)
BancoFotos..TAB_FOTOS_BLOB (Id_Foto[FK], ArquivoBlob).
Segue solução ilustrativa usando DBImage:
procedure TForm1.EscolheImagem(Imagem: TDBImage); var oJPEG: TJPEGImage; oDialogo: TOpenPictureDialog; oPicture: TPicture; begin if not Assigned(Imagem) then Exit; if (not Assigned(Imagem.DataSource)) or (Imagem.DataField = ´´) then Exit; if not Assigned(Imagem.DataSource.DataSet) then Exit; if not (Imagem.DataSource.DataSet.Active) then Exit; oDialogo := TOpenPictureDialog.Create(nil); try oDialogo.Options := [ofOverwritePrompt, ofHideReadOnly, ofEnableSizing]; oDialogo.Filter := ´Imagens (*.jpg;*.jpeg;*.bmp)|*.jpg;*.jpeg;*.bmp´; oPicture := TPicture.Create; try oJPEG := TJPEGImage.Create; try if oDialogo.Execute then begin oPicture.LoadFromFile(oDialogo.FileName); oJPEG.Assign(oPicture.Graphic); if not (Imagem.DataSource.DataSet.State in dsEditModes) then Imagem.DataSource.DataSet.Edit; Imagem.Picture.Graphic.Assign(oJPEG); end; finally FreeAndNil(oJPEG); end; finally FreeAndNil(oPicture); end; finally FreeAndNil(oDialogo); end; end; procedure TForm1.Button1Click(Sender: TObject); begin EscolheImagem(DBImage1); end;
Gostei + 0
31/07/2004
Aroldo Zanela
Você pode guardar qualquer tipo de dado num campo do tipo BLOB na maioria dos SGBDs. No caso do IB/FB não é diferente. Eu ratifico a sugestão do colega Bon Jovi e acrescento que, no caso do armazenamento num diretório, você perde na segurança adicional fornecida pela aplicação.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)