AWS SDK for .NET Documentation
UploadDirectory Method (directory, bucketName, searchPattern, searchOption)
AmazonAmazon.S3.TransferTransferUtilityUploadDirectory(String, String, String, SearchOption) Did this page help you?   Yes   No    Tell us about it...
Uploads files from a specified directory. The object key is derived from the file names inside the directory. For large uploads, the file will be divided and uploaded in parts using Amazon S3's multipart API. The parts will be reassembled as one object in Amazon S3.
Declaration Syntax
C#
public void UploadDirectory(
	string directory,
	string bucketName,
	string searchPattern,
	SearchOption searchOption
)
Parameters
directory (String)
The source directory, that is, the directory containing the files to upload.
bucketName (String)
The target Amazon S3 bucket, that is, the name of the bucket to upload the files to.
searchPattern (String)
A pattern used to identify the files from the source directory to upload.
searchOption (SearchOption)
A search option that specifies whether to recursively search for files to upload in subdirectories.
Remarks

If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads.

Assembly: AWSSDK (Module: AWSSDK) Version: 1.5.60.0 (1.5.60.0)