Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ** currently file created to export directory modifiy to move to uploaded after successfull ftp upload
- ** better exception handling on ftp so that exception are logged like example below
- missing log file bit
- WinSCP file result transfer: True
- Uploaded: Document_Type_CC,Store_GCC,No_380759_02006282_20180930@100612.xml
- Done
- procedure WinSCPUpLoadFile(FileName :string);
- var
- I: Integer;
- Session,
- SessionOpt,
- TransferOpt,
- TransferResult: Variant;
- RemoteDir,FName: String;
- begin
- try
- try
- Log('-> Enter WinSCPUpLoadFile FTP Upload',FileName);
- // SessionOpt.FtpSecure := 0; // 0=None, 1=Implicit, 2=ExplicitSsl, 3=Explicit/ExplicitTls
- // SessionOpt.FtpMode := 1; // 0=Passive, 1=Active
- SessionOpt := CreateOleObject('WinSCP.SessionOptions');
- SessionOpt.Hostname := 'ftp.whittard.iweb-storage.com';
- SessionOpt.Protocol := 0; // 0=SFTP, 1=SCP, 2=FTP, 3=WebDAV
- SessionOpt.PortNumber := 22;
- SessionOpt.SshHostKeyFingerprint := 'ssh-rsa 1024 yBbfoAT0V4ETSOjRVMOsFBGcH1IjZ7RngJDi0NfBHmo=';
- //**** Testing **** Testing
- // RemoteDir := '/Salesforce-Test/outgoing/order_status/';
- // SessionOpt.Username := 'xxxx';
- // SessionOpt.Password := 'xxxx';
- //**** Live ****
- RemoteDir := '/Salesforce-Live/outgoing/order_status/';
- SessionOpt.Username := 'xxxxx'; //
- SessionOpt.Password := 'xxxx';
- Session := CreateOleObject('WinSCP.Session');
- Session.Open(SessionOpt);
- TransferOpt := CreateOleObject('WinSCP.TransferOptions');
- TransferOpt.TransferMode := 0; // Binary
- TransferOpt.PreserveTimestamp := False;
- TransferResult := Session.PutFiles(FileName, RemoteDir, False, TransferOpt);
- Log('WinSCP file result transfer', TransferResult.IsSuccess);
- if not TransferResult.IsSuccess then
- begin
- for I := 0 to TransferResult.Failures.Count - 1 do
- Log('Failures', TransferResult.Failures.Item(I).Message);
- end else
- for I := 0 to TransferResult.Transfers.Count - 1 do
- begin
- FName := TransferResult.Transfers.Item(I).FileName;
- FName := ExtractFileName(StringReplace(Fname,'/','\',True));
- Log('Uploaded', FName);
- // DeleteFile(DownloadDir + FName);
- end;
- except
- Log('WinSCPUpLoadFile',ExceptionMessage);
- end;
- finally
- SessionOpt:=Nil;
- TransferOpt:=Nil;
- Session:=Nil;
- end;
- Log('<- Exit WinSCPUpLoadFile FTP Upload',FileName);
- end;
Add Comment
Please, Sign In to add comment