Guest User

Untitled

a guest
Feb 6th, 2019
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1. ** currently file created to export directory modifiy to move to uploaded after successfull ftp upload
  2.  
  3. ** better exception handling on ftp so that exception are logged like example below
  4.  
  5.  
  6. missing log file bit
  7. WinSCP file result transfer: True
  8. Uploaded: Document_Type_CC,Store_GCC,No_380759_02006282_20180930@100612.xml
  9. Done
  10.  
  11.  
  12. procedure WinSCPUpLoadFile(FileName :string);
  13. var
  14. I: Integer;
  15. Session,
  16. SessionOpt,
  17. TransferOpt,
  18. TransferResult: Variant;
  19. RemoteDir,FName: String;
  20.  
  21. begin
  22.  
  23. try
  24. try
  25. Log('-> Enter WinSCPUpLoadFile FTP Upload',FileName);
  26. // SessionOpt.FtpSecure := 0; // 0=None, 1=Implicit, 2=ExplicitSsl, 3=Explicit/ExplicitTls
  27. // SessionOpt.FtpMode := 1; // 0=Passive, 1=Active
  28.  
  29.  
  30.  
  31. SessionOpt := CreateOleObject('WinSCP.SessionOptions');
  32. SessionOpt.Hostname := 'ftp.whittard.iweb-storage.com';
  33. SessionOpt.Protocol := 0; // 0=SFTP, 1=SCP, 2=FTP, 3=WebDAV
  34. SessionOpt.PortNumber := 22;
  35. SessionOpt.SshHostKeyFingerprint := 'ssh-rsa 1024 yBbfoAT0V4ETSOjRVMOsFBGcH1IjZ7RngJDi0NfBHmo=';
  36.  
  37. //**** Testing **** Testing
  38. // RemoteDir := '/Salesforce-Test/outgoing/order_status/';
  39. // SessionOpt.Username := 'xxxx';
  40. // SessionOpt.Password := 'xxxx';
  41.  
  42. //**** Live ****
  43. RemoteDir := '/Salesforce-Live/outgoing/order_status/';
  44. SessionOpt.Username := 'xxxxx'; //
  45. SessionOpt.Password := 'xxxx';
  46.  
  47.  
  48. Session := CreateOleObject('WinSCP.Session');
  49. Session.Open(SessionOpt);
  50.  
  51. TransferOpt := CreateOleObject('WinSCP.TransferOptions');
  52. TransferOpt.TransferMode := 0; // Binary
  53. TransferOpt.PreserveTimestamp := False;
  54. TransferResult := Session.PutFiles(FileName, RemoteDir, False, TransferOpt);
  55.  
  56. Log('WinSCP file result transfer', TransferResult.IsSuccess);
  57. if not TransferResult.IsSuccess then
  58. begin
  59. for I := 0 to TransferResult.Failures.Count - 1 do
  60. Log('Failures', TransferResult.Failures.Item(I).Message);
  61. end else
  62. for I := 0 to TransferResult.Transfers.Count - 1 do
  63. begin
  64. FName := TransferResult.Transfers.Item(I).FileName;
  65. FName := ExtractFileName(StringReplace(Fname,'/','\',True));
  66. Log('Uploaded', FName);
  67. // DeleteFile(DownloadDir + FName);
  68. end;
  69. except
  70. Log('WinSCPUpLoadFile',ExceptionMessage);
  71. end;
  72. finally
  73. SessionOpt:=Nil;
  74. TransferOpt:=Nil;
  75. Session:=Nil;
  76. end;
  77. Log('<- Exit WinSCPUpLoadFile FTP Upload',FileName);
  78. end;
Add Comment
Please, Sign In to add comment