Tema: subir ftp
Ver Mensaje Individual
  #1  
Antiguo 13-02-2023
esublim esublim is offline
Miembro
 
Registrado: dic 2022
Posts: 40
Reputación: 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