This method will try to upload local directory structure
from local disk to the server. You need to specify
LocalPath argument that points to a
directory from where files are copied, and RemotePath that determines location where those
files are placed on the server. PutFiles will go and
recursive copy directories and files - corresponding
directory structure will also be created on the server.
wodFtpDLX will go up to MaxLevel
deep into recursion. Default value is 5 - meaning up to 5
subdirectory levels will be copied. You can specify any
value for MaxLevel. If you specify 0, that
means that no restriction exists for recursion depth.
Before each item is copied, LoopItem
event will be fired, specifying local name of the
file/folder, its remote name (including full path in both
cases), type of the item (file/folder) and will allow you
to Skip the item so it is not
copied to the server at all. Make sure your logic for
setting Skip = True is
correct - if you skip creation of remote directory and
then try to upload files to it, you may get more errors!
Since PutFiles does not support wildcards
(for example, you cannot specify "*.TXT" in PutFiles call), LoopItem
is a place to determine if certain item matches your
wildcard expression (if you have any), so you can skip
files that doesn't match your criteria.
If an errors occurs during file upload, LoopError
event is fired holding error number and error description
of the error. If you leave ErrorCode argument in LoopError
event as is - PutFiles operation will be aborted. If you
change ErrorCode value in LoopError event to 0, then
PutFiles operation will continue (ignoring the error)
normally.
Please note that using PutFiles in blocking environment
where events are not available is almost impossible to use
- simply because first error that occurs may abort the
operation, and there is no way to ignore the error (since
you don't have access to LoopError event).
Do not forget that RemotePath should always
specify full absolute path (i.e. /home/joe/something) instead of
relative path (i.e. joe/something). LocalPath should also specify
full path (i.e. C:\home\joe\something) instead of relative path
(i.e. joe\something).