 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
jotny Master


Registrado: 17 Feb 2004Mensajes: 226Ubicación: santiago
|
Publicado: Mie 10 Mar, 2004 1:25 am Asunto: Alguien sabe de la insersion de foto?????? |
|
|
He puesto mensajes pero parece que nadie sabe al respecto.... a lo mejor no me he explicado bien... quiero enviar una foto JPG a un servidor SQL server 2000, este posee un campo image, pero no se como puedo guardarlo y despues ir a buscarlo mediante una consulta y mostrarlo en la aplicacion... alguen me puede ayudar????? ya me estoy dando por vencido.. no hayo la manera ... ademas nadie responde al respecto .. pero bueno... lo seguireee intentando  |
|
| Volver arriba |
|
 |
Mario Wereka Cdt

Registrado: 06 Abr 2004Mensajes: 8Ubicación: Torreon, Coah. Mexico
|
Publicado: Dom 18 Abr, 2004 9:07 pm Asunto: |
|
|
Hola:
Bueno la verdad no se nada de SQL server pero talvez esto te sirva o te de alguna idea de como resolver tu problema
En manejadores como Interbase existen tipos de campos llamados Blob que tengo entendido que puedes guardar lo que sea en binario es decir programas, fotografias, etc, no lo he utilizado pero he visto que se puede hacer, si existen ese tipo de campos en SQL server solo tienes que crear una rutina para transformar los datos del campo y ponerlos en un Image o algo asi, te pongo la rutina para interbase para darte una idea
1. Guardar el contenido de un fichero en un campo Blob.
| Código: | function FileToBlob(aFile:string;aBlob:TBlobField):boolean;
begin
Result:=False;
if not FileExists(aFile) then exit;
with TDataset(aBlob.GetParentComponent) do
try
Edit;
aBlob.LoadFromFile(aFile);
//Post; //no es conveniente hacerlo aqui ni olvidarse de el
Result:=True;
finally
//nada que hacer aqui
end;
end;
|
2. Guardar un gráfico (convirtiendolo en JPG) en un campo Blob.
| Código: | function JpgToBlob(aGraphic:TGraphic;aBlob:TBlobField):boolean;
Var
M:TMemoryStream;
J:TJpegImage;
begin
Result:=False;
if aGraphic.Empty then exit;
M:=TmemoryStream.Create;
J:=TJpegImage.Create;
with TDataset(aBlob.GetParentComponent) do
try
J.Assign(aGraphic); //lo convertimos a Jpg
//J.CompressionQuality:=80; //Calidad de compresion
//J.Compress; //comprime segun la calidad asignada
J.SaveToStream(M);
M.Seek(0,0);
Edit;
aBlob.LoadFromStream(M);
//Post; //no es conveniente hacerlo aqui ni olvidarse de el
Result:=True;
finally
M.Free;
J.Free;
end;
end;
|
5. Pasar un JPG de un campo Blob a un gráfico.
| Código: |
function BlobToJpg(aGraphic:TGraphic;aBlob:TBlobField):boolean;
Var
M:TMemoryStream;
J:TJpegImage;
begin
Result:=False;
if aBlob.IsNull then exit;
M:=TMemoryStream.Create;
J:=TJpegImage.Create;
try
aBlob.SaveToStream(M);
M.Seek(0,0);
J.LoadFromStream(M);
aGraphic.Assign(J); //para converit el jpg a Graphic
Result:=True;
finally
M.Free;
J.Free;
end;
end;
|
Bueno estas rutinas son para Delphi pero son facilmente transportables
Y como te dije espero que esto te de una idea de como puedes resolver tu problema y por lo que veo en las rutinas no especifica que sean solamente para Insterbase _________________ No dudes en preguntar, tus problemas presentes pueden ser mis problemas futuros.
Todo lo que esta en la imaginacion del hombre es posible |
|
| Volver arriba |
|
 |
TOÑO Master

Registrado: 26 Ago 2002Mensajes: 223Ubicación: Madrid - España -
|
Publicado: Jue 29 Abr, 2004 11:14 am Asunto: |
|
|
HOLA:
Pues existen bastantes maneras, aqui va una, "a mi me gusta previsualizar lo que voy a salvar, y particularmente no permito salvar imagenes muy grandes en mis bases de datos, luego la velocidad se nota".
Table1GRAFICA ->Assign(Image1 ->Picture ->Bitmap);
Si quieres con jpg lo unico que tienes que hacer es poner el
#include <jpeg.hpp> y tratas a la imagen igual que un bmp.
Nota no conozco SQL Server pero creo que no tengas problemas.
By. |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|