Ver Mensaje Individual
  #1  
Antiguo 10-01-2008
Avatar de totote
totote totote is offline
Miembro
 
Registrado: oct 2006
Posts: 150
Reputación: 18
totote Va por buen camino
Problema al intentar guardar imagen

Buenas gente, buscando y buscando encontre como almacenar imagenes en una tabla de firebird, pero está hecho con componentes de interbase, yo intente hacerlo con componentes de de dbExpress y no resulta, lo hago tal cual pero no hay caso, en memoria parece estar bien pero despues no me lo guarda en la base de datos

Acá va el código, espero que me puedan ayudar
Código Delphi [-]
procedure TfCargarFoto.btCargarClick(Sender: TObject);
var
  m, f: TStream;
  s: string;
begin
if opdFoto.Execute then
begin
  //modo edición
  dm.cdsImagenes.Edit;
  //stream a partir campo Blob que contendrá la imagen
  m:= dm.cdsImagenes.CreateBlobStream(dm.cdsImagenes.FieldByName('imagen'), bmWrite);
  //stream para acceder al archivo gráfico
  f:= TFileStream.Create(OPDFoto.filename, fmOpenRead);
  //copiar de un stream a otro
  m.CopyFrom(f, f.Size);
  //coger formato foto y ponerlo en campo correspondiente
  s:= AnsiUpperCase(ExtractFileExt(opdFoto.FileName));
  if s='.JPEG' then
    s:= '.JPG';
  dm.cdsImagenes.Fields[2].AsString:= Copy(s,2,3);
  dm.cdsImagenes.Post;
  dm.cdsImagenes.ApplyUpdates(0);
  //destruir streams
  f.Free;
  m.Free;
end;
end;

Saludos
__________________
¡Oh nooo! no compartas, compartir es pirateria, compartir te llevara a la carcel - Revolution OS
Responder Con Cita