Ver Mensaje Individual
  #1  
Antiguo 15-04-2009
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Reputación: 22
fjcg02 Va camino a la fama
Extraer ficheros de BBDD

Hola a todos,
llevo un rato largo buceando y no encuentro la manera de hacer lo que quiero. Encuentro soluciones similares pero no exactamente la que busco.
Estoy haciendo una parte de una aplicación que guarda archivos de cualquier tipo en una tabla ( concretamente Firebird, en un campo blob). No tengo problemas para guardar el archivo, pero sí se me plantea una duda.
Por lo que he visto, logro extraer el archivo a un fichero temporal utilizando este codigo:

Código Delphi [-]
var blob:tStream;
begin
blob := ClientDataset1.CreateBlobStream(ClientDataset1.FieldByName('ARCHIVO'), bmRead);
try
  blob.Seek(0, soFromBeginning);

  with TFileStream.Create(' c:\your_name.doc', fmCreate) do
    try
      CopyFrom(blob, blob.Size)
    finally
      Free
    end;
finally
  blob.Free
end;

Mi pregunta es: sabe alguien cómo abrir la aplicación correspondiente con el fichero extraido sin tener que recurrir a un archivo temporal ? Los archivos pueden ser de cualquier tipo ( doc, xls, pdf, ...)
Mi intención es extraer el fichero al stream y de alguna manera abrir la aplicación correspondiente y enchufarle el contenido del stream.

Gracias por vuestra atención y un saludo.
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita