Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-08-2023
javier14 javier14 is offline
Miembro
 
Registrado: ago 2023
Posts: 12
Poder: 0
javier14 Va por buen camino
Descargar archivo con DataSnap

Hola a todos.

Tengo un servidor DataSnap el cual tiene conexión a una base de datos que contiene una tabla donde se almacena una ruta de un archivo ejecutable.

El usuario puede a través de su interfaz obtener dicha ruta, pero necesito saber como podría descargar ese archivo a través de DataSnap.

Espero respuesta. Gracias.
Responder Con Cita
  #2  
Antiguo 21-08-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Para descargar un archivo en Delphi utilizando DataSnap, puedes seguir estos pasos generales:
  1. Configurar el servidor DataSnap:
    Asegúrate de que tienes un servidor DataSnap configurado y que haya un método remoto que permita la descarga de archivos. Puedes crear un método que reciba un nombre de archivo como parámetro y devuelva el contenido del archivo.
  2. Configurar el cliente DataSnap:
    En la aplicación cliente en Delphi, asegúrate de que tengas configurada la conexión al servidor DataSnap. Esto implica configurar la conexión REST o HTTP, según tu caso.
  3. Crear una solicitud para descargar el archivo:
    Debes crear una solicitud al servidor DataSnap para descargar el archivo deseado. Esto puede implicar el uso de una llamada a un método remoto que inicie la descarga.
  4. Recibir y guardar el archivo:
    Una vez que se haya realizado la solicitud al servidor, recibirás el contenido del archivo como respuesta. Puedes guardar este contenido en un archivo local en el cliente para completar la descarga.
Aquí tienes un ejemplo muy simplificado de cómo podría verse el código en el lado del cliente en Delphi para descargar un archivo utilizando DataSnap. Este ejemplo supone que tienes un servidor DataSnap con un método remoto llamado DescargarArchivo que recibe el nombre del archivo como parámetro y devuelve el contenido del archivo.
Código Delphi [-]

uses
  Data.DBXCommon, Data.DBXJSON, Datasnap.DSClientRest;

procedure DescargarArchivoDesdeDataSnap(const nombreArchivo: string);
var
  DSRestConnection: TDSRestConnection;
  DSRestCommand: TDSRestCommand;
  respuestaJSON: TJSONObject;
  contenidoArchivo: TJSONValue;
  archivoLocal: TFileStream;
begin
  DSRestConnection := TDSRestConnection.Create(nil);
  DSRestCommand := TDSRestCommand.Create(nil);

  try
    // Configura la conexión con la URL de tu servidor DataSnap
    DSRestConnection.Host := 'http://tu-servidor-datasnap-url';

    // Configura el comando para llamar al método remoto
    DSRestCommand.Connection := DSRestConnection;
    DSRestCommand.CommandText := 'TServerMethods.DescargarArchivo'; // Nombre de tu método remoto

    // Agrega el parámetro de nombre de archivo
    DSRestCommand.Prepare(TJSONArray.From([nombreArchivo]));

    // Realiza la llamada al servidor
    respuestaJSON := DSRestCommand.ExecuteJSONValue as TJSONObject;

    // Obtiene el contenido del archivo desde la respuesta
    contenidoArchivo := respuestaJSON.GetValue('archivo');

    // Guarda el contenido en un archivo local
    archivoLocal := TFileStream.Create('ruta-local-archivo', fmCreate);
    try
      archivoLocal.Write(contenidoArchivo.ToString, Length(contenidoArchivo.ToString));
    finally
      archivoLocal.Free;
    end;
  finally
    DSRestConnection.Free;
    DSRestCommand.Free;
  end;
end;

Este es solo un ejemplo básico y simplificado para ilustrar el proceso. En una aplicación del mundo real, deberás manejar errores, gestionar la ubicación y el nombre de archivo local de manera más segura, y considerar aspectos de seguridad adicionales según sea necesario para tu aplicación. Además, asegúrate de configurar adecuadamente tu servidor DataSnap y definir el método remoto para la descarga de archivos de acuerdo con tus necesidades específicas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Descargar un archivo DLL de una IBTable AnaBDiaz C++ Builder 1 06-07-2018 22:06:14
Descargar un archivo de Internet c0lo Internet 10 14-05-2016 04:44:25
Descargar archivo con Delphi Gothem Varios 20 05-08-2011 01:58:45
descargar archivo desde php gulder PHP 2 07-06-2007 08:28:26
Descargar archivo con redirección voci Internet 4 09-04-2007 14:22:27


La franja horaria es GMT +2. Ahora son las 22:40:52.


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
Copyright 1996-2007 Club Delphi