AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

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.

Note:

For .NET Core this operation is only available in asynchronous form. Please refer to UploadDirectoryAsync.

Namespace: Amazon.S3.Transfer
Assembly: AWSSDK.S3.dll
Version: 3.x.y.z

Syntax

C#
public abstract void UploadDirectory(
         String directory,
         String bucketName,
         String searchPattern,
         SearchOption searchOption
)

Parameters

directory
Type: System.String

The source directory, that is, the directory containing the files to upload.

bucketName
Type: System.String

The target Amazon S3 bucket, that is, the name of the bucket to upload the files to.

searchPattern
Type: System.String

A pattern used to identify the files from the source directory to upload.

searchOption
Type: System.IO.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.

Version Information

.NET Core App:
Supported in: 3.1

.NET Standard:
Supported in: 2.0

.NET Framework:
Supported in: 4.5, 4.0, 3.5