Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Providers (https://www.clubdelphi.com/foros/forumdisplay.php?f=10)
-   -   DataSnap con Imagenes (https://www.clubdelphi.com/foros/showthread.php?t=84346)

mjjj 08-10-2013 18:35:53

DataSnap con Imagenes
 
Estimados,
estoy trabajando en un proyecto de tres capas, para ser implementado en dispositivos móviles.
Entiendo que la tecnología DataSnap me podrá facilitar las cosas al momento de conectarme de forma remota al servidor ¿que otras tecnología podría utilizar?

El punto principal de este hilo es preguntarles a los grandes gurus, como puedo almacenar y cargar una desde un cliente pasando por un servidor DataSnap una imagen, ya sea en un servidor FTP, como en una base de dato.

He intentado con este procedimiento, pero solo me guarda los campos usuario, y fecha, el campo imagen queda en blanco.
Código Delphi [-]
procedure TServerMethods1.insert_imagen(imagen: TStream; usuario: integer);
begin
  with ibsql1 do
  begin
    transaction.Active := true;;
    close;
    sql.clear;
    sql.add('insert into imagenes (usuario, imagen, fecha)');
    sql.add('values (:usuario, :imagen, current_timestamp)');
    ParamByName('imagen').LoadFromStream(imagen);
    ParamByName('usuario').asinteger :=usuario;
    execquery;
    transaction.CommitRetaining;
  end;
end;

y lo llamo desde el cliente con esto, en donde image1 (TImage) tiene previamente una imagen cargada.

Código Delphi [-]
procedure TForm2.Button4Click(Sender: TObject);
var
  stream : Tmemorystream;
  myServer : TServerMethods1Client;
begin
if SQLConnection1.Connected then
  myServer := TServerMethods1Client.Create(SQLConnection1.DBXConnection);
    try

    stream := TMemoryStream.Create;
    image1.Picture.Bitmap.SaveToStream(stream);
    myServer.insert_imagen(stream, 10);

  finally
    stream.free;
    myServer.Free;  //free up the server
  end;
end;

Que podrá ser ??
Alguna idea ??

Neftali [Germán.Estévez] 08-10-2013 20:37:09

Revisa esta entrada del blog de Salvador; Aquí la segunda parte. Se trata del tema.

Cito:
"Según me comentaba, el intento de obtener una imagen desde un servidor de DataSnap y mostrarla en la parte cliente, era lo que en ese momento le estaba dando problemas, por lo que, tras cruzar varios correos con él, decidí preparar un pequeño ejemplo en el que lo pudiera ver y entender con algo mas de detalle, tomando como guía aquella entrada del seminario.
Así que estas lineas responden un poco a esa motivación, pensando que otros compañeros puedan albergar dudas similares y pueda ser de ayuda su lectura..."


La franja horaria es GMT +2. Ahora son las 10:21:07.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi