Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-02-2023
esublim esublim is offline
Miembro
 
Registrado: dic 2022
Posts: 40
Poder: 0
esublim Va por buen camino
subir ftp

hola amigos tengo el siguiente codigo y todo funciona muy bien. la pregunta es la siguiente:
como hago para subir a ftp una imagen pero directo del from o de un stream. es decir tengo un timagen y que me lea la imagen desde alli y la suba por ftp

Código Delphi [-]
unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
  IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdExplicitTLSClientServerBase, IdFTP, FMX.Controls.Presentation, FMX.StdCtrls,
  FMX.Objects, IdHTTP;

type
  TForm1 = class(TForm)
    IdFTP1: TIdFTP;
    Image1: TImage;
    bt_guardar: TButton;
    Button3: TButton;
    IdHTTP1: TIdHTTP;
    Button1: TButton;
    Button2: TButton;
    procedure bt_guardarClick(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure PedirImagen( URL, FICHERO, DIR_DESTINO:string );
  var
    Stream      : TFileStream;
  begin
  { re-crear el DIRECTORIO de destino por si no estuviese }
    ForceDirectories( DIR_DESTINO );
    Stream  := TFileStream.Create( DIR_DESTINO + '\' + FICHERO, fmCreate);
    try
      Form1.IdHTTP1.Get ( URL + '/' + FICHERO, Stream );
    finally
      Stream.Free;
    end;
  end;

procedure TForm1.Button1Click(Sender: TObject);
var imagenstream : TStringSTream;
begin
  imagenstream := TStringStream.Create('');
  Form1.IdHTTP1.Get('http://192.168.1.185/adae/1.jpg', imagenstream);
  Image1.Bitmap.LoadFromStream(imagenstream);
end;

procedure TForm1.bt_guardarClick(Sender: TObject);
begin
PedirImagen( 'http://192.168.1.185/adae', '1.jpg', 'A:\' );
end;

procedure TForm1.Button3Click(Sender: TObject);
begin

 IdFTP1.Username:= 'jaguero';
 IdFTP1.Password:= '123456789';
 IdFTP1.Port:= 21;
 IdFTP1.Host:= '192.168.1.185';


 try

  IdFTP1.Connect;
  IdFTP1.Put( 'img/img1.jpg', ExtractFileName( 'image1.jpg' ), false );
  showmessage('Listo');
  IdFTP1.Disconnect;

 except

   showmessage('Negativo');

 end;

end;

end.
Responder Con Cita
  #2  
Antiguo 14-02-2023
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Utiliza un TMemoryStream y vuelca directamente el contenido del TImage al Stream.

Más o menos siguiendo el código que has puesto...
Código Delphi [-]
procedure TForm1.Button3Click(Sender: TObject);
begin

  IdFTP1.Username:= 'jaguero';
  IdFTP1.Password:= '123456789';
  IdFTP1.Port:= 21;
  IdFTP1.Host:= '192.168.1.185';

  try
    // Conectar
    IdFTP1.Connect;
    // Cambiar el directorio activo de subida
    idFTP1.ChangeDir('tmp');
    // crear el Stream
    s := TMemoryStream.Create;
    try
      // Volcar del TImage a un Stream
      Image1.Picture.Bitmap.SaveToStream(s);
      // Subirlo al FTP
      IdFTP1.Put(s, 'image1.jpg', false);
      showmessage('Listo');
      IdFTP1.Disconnect;
    finally
      FreeAndNil(s);
    end;
  except
    showmessage('Negativo');
 end;
end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 14-02-2023
esublim esublim is offline
Miembro
 
Registrado: dic 2022
Posts: 40
Poder: 0
esublim Va por buen camino
muchas gracias, rsuelto
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
Subir Documento zuritavic FireMonkey 4 15-02-2017 09:36:19
Subir imagenes ZayDun Varios 7 23-05-2012 17:24:49
subir db a mi servidor foetus PHP 3 17-12-2007 19:39:59
... a subir videos !! gluglu Noticias 1 31-01-2007 12:20:35
Subir log a internet sitrico Internet 3 09-12-2004 14:03:37


La franja horaria es GMT +2. Ahora son las 19:23:08.


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