Ver Mensaje Individual
  #1  
Antiguo 08-10-2013
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Reputación: 18
mjjj Va por buen camino
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 ??
Responder Con Cita