Cita:
Empezado por petete2008
y puedo decirle que la imagen está en c:\imagenes\image.jpg y que la coja directamente de allí en vez de cargarla?
Ademas mi idea es que tambien pueda adjuntar ficheros txt, pdf, word, etc... y no sólamente imágenes.
|
En ese caso (más genérico) es mejor trabajar directamente con Streams para cualquier tipo de fichero y así los cargas directamente de disco.
Seguramente en tu tabla deberás tener algun campo para almacenar el nombre o el tipo del fichero original, para así después poderlo recuperar correctamente.
Para guardar un fichero en un campo de una tabla (TADOTable en este caso, con un campo definido como IMAGE) puedes usar esto:
Código Delphi
[-]
var
bs: TStream;
begin
tbl1.Edit;
bs := tbl1.CreateBlobStream(tbl1.FieldByName('blob'), bmWrite);
TADOBlobStream(bs).LoadFromFile('c:\temp\fichero.pdf');
bs.Free;
Para volver a guardar ese campo en disco (fichero) algo como esto:
Código Delphi
[-]
var
bs: TStream;
begin
bs := tbl1.CreateBlobStream(tbl1.FieldByName('blob'), bmReadWrite);
TADOBlobStream(bs).SaveToFile('c:\temp\fichero_out.pdf');
bs.Free;