Differences
This shows you the differences between the selected revisions of the page.
| library_session_putfiles 2017-04-13 | library_session_putfiles 2022-08-12 (current) | ||
| Line 2: | Line 2: | ||
| [[task_upload|Uploads]] one or more files from local directory to remote directory. | [[task_upload|Uploads]] one or more files from local directory to remote directory. | ||
| - | You can have WinSCP [[ui_generateurl|generate a code template]] for ''Session.PutFiles'' for you. | + | You can have WinSCP [[guide_automation#generating|generate a code template]] for ''Session.PutFiles'' for you. |
| - | // Configurer les options de session | + | The method is quite powerful, but due to a wide range of it uses, its syntax can be cumbersome initially. For specific tasks, consider using convenient alternatives: [[library_session_putfilestodirectory|''Session.PutFilesToDirectory'']] and [[library_session_putfiletodirectory|''Session.PutFileToDirectory'']]. |
| - | SessionOptions sessionOptions = new SessionOptions | + | |
| - | { | + | |
| - | Protocol = Protocol.Webdav, | + | |
| - | HostName = "camerta.com", | + | |
| - | ····PortNumber = 8000, | + | |
| - | ····UserName = "riadh", | + | |
| - | Password = "riadh", | + | |
| - | }; | + | |
| - | using (Session session = new Session()) | + | ===== Syntax ===== |
| - | { | + | <code csharp *> |
| - | // Connecter | + | public TransferOperationResult PutFiles( |
| - | session.Open(sessionOptions); | + | string localPath, |
| + | string remotePath, | ||
| + | bool remove = false, | ||
| + | ····TransferOptions options = null | ||
| + | ) | ||
| + | </code> | ||
| - | ····// Transférer fichiers | + | <code vbnet *> |
| - | session.PutFiles(@"C:\Users\bouchaib\Desktop\client iptv\iptv liste libre\arabe et francais mourad 63.txt", "/*").Check(); | + | Public Function PutFiles( |
| - | } | + | ····localPath As String, |
| + | ····remotePath As String, | ||
| + | ···Optional remove As Boolean = False, | ||
| + | Optional options As TransferOptions = Nothing | ||
| + | ) As TransferOperationResult | ||
| + | </code> | ||
| - | ==== Parameters ==== | + | ==== [[parameters]] Parameters ==== |
| ^ Name ^ Description ^ | ^ Name ^ Description ^ | ||
| | string ==localPath== | Full path to local file or directory to upload. Filename in the path can be replaced with Windows wildcard ((The Windows wildcard supports ''*'' and ''?'' only. If you want to use a full syntax of [[file_mask|file masks]], use a ''[[library_transferoptions#filemask|TransferOptions.FileMask]]''.)) to select multiple files. To upload all files in a directory, use mask ''*''. | | | string ==localPath== | Full path to local file or directory to upload. Filename in the path can be replaced with Windows wildcard ((The Windows wildcard supports ''*'' and ''?'' only. If you want to use a full syntax of [[file_mask|file masks]], use a ''[[library_transferoptions#filemask|TransferOptions.FileMask]]''.)) to select multiple files. To upload all files in a directory, use mask ''*''. | | ||
| | string ==remotePath== | Full path to upload the file to. When uploading multiple files, the filename in the path should be replaced with [[operation_mask|operation mask]] or omitted (path ends with slash). | | | string ==remotePath== | Full path to upload the file to. When uploading multiple files, the filename in the path should be replaced with [[operation_mask|operation mask]] or omitted (path ends with slash). | | ||
| - | | bool ==remove== | When set to ''true'', deletes source local file(s) after transfer. Defaults to ''false''. | | + | | bool ==remove== | When set to ''true'', deletes source local file(s) after a successful transfer. Defaults to ''false''. | |
| | [[library_transferoptions|TransferOptions]] ==options== | Transfer options. Defaults to ''null'', what is equivalent to ''new TransferOptions()''. | | | [[library_transferoptions|TransferOptions]] ==options== | Transfer options. Defaults to ''null'', what is equivalent to ''new TransferOptions()''. | | ||
| Line 33: | Line 35: | ||
| ''[[library_transferoperationresult|TransferOperationResult]]''. See also [[library_session#results|Capturing results of operations]]. | ''[[library_transferoperationresult|TransferOperationResult]]''. See also [[library_session#results|Capturing results of operations]]. | ||
| - | ===== Exceptions ===== | + | ===== [[exceptions]] Exceptions ===== |
| ^ Exception ^ Condition ^ | ^ Exception ^ Condition ^ | ||
| | InvalidOperationException | Session is not opened. | | | InvalidOperationException | Session is not opened. | | ||
| Line 42: | Line 44: | ||
| ===== Remarks ===== | ===== Remarks ===== | ||
| - | Event ''[[library_session_filetransferred|Session.FileTransferred]]'' is raised for every uploaded file. | + | Event ''[[library_session_filetransferred|Session.FileTransferred]]'' is raised for every uploaded file. Also raises [[library_session_filetransferprogress|''Session.FileTransferProgress'']] throughout the transfer. |
| - | The upload aborts on the first error. See example on [[library_example_recursive_download_custom_error_handling|implementing recursive directory tree download with custom error handling]], uploads can be implemented similarly too. See an example of [[library_example_moves_files_keeping_directory_structure|implementing recursive directory tree upload]]. | + | The upload aborts on the first error. See the example on [[library_example_recursive_download_custom_error_handling|implementing recursive directory tree download with custom error handling]]. Uploads can be implemented similarly too, see an example of [[library_example_moves_files_keeping_directory_structure|implementing recursive directory tree upload]]. |
| ===== Example ===== | ===== Example ===== | ||
| Line 51: | Line 53: | ||
| ==== Real-Life Examples ==== | ==== Real-Life Examples ==== | ||
| - | * [[script_local_move_after_successful_upload|Moving local files to different location after successful upload]]; | + | * [[script_local_move_after_successful_upload|*]]; |
| - | * [[script_locking_files_while_uploading|Locking files while uploading / Upload to temporary file name]]; | + | * [[script_locking_files_while_uploading|*]]; |
| - | * [[library_example_moves_files_keeping_directory_structure|Recursively move files in directory tree to/from SFTP/FTP server while preserving source directory structure]]. | + | * [[library_example_moves_files_keeping_directory_structure|*]]. |