/// <summary> /// Uploads the files in directory. The object key is obtained 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. /// </summary> /// <param name="request"> /// The request that contains all the parameters to upload a directory. /// </param> public void UploadDirectory(TransferUtilityUploadDirectoryRequest request) { validate(request); UploadDirectoryCommand command = new UploadDirectoryCommand(this, request); command.Execute(); }
/// <summary> /// Initiates the asynchronous execution of the UploadDirectory operation. /// <seealso cref="M:Amazon.S3.Transfer.TransferUtility.UploadDirectory"/> /// </summary> /// <param name="request"> /// The request that contains all the parameters to upload a directory. /// </param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback procedure using the AsyncState property.</param> /// <exception cref="T:System.ArgumentNullException"></exception> /// <exception cref="T:System.Net.WebException"></exception> /// <exception cref="T:Amazon.S3.AmazonS3Exception"></exception> /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; /// this value is also needed when invoking EndUploadDirectory.</returns> public IAsyncResult BeginUploadDirectory(TransferUtilityUploadDirectoryRequest request, AsyncCallback callback, object state) { validate(request); UploadDirectoryCommand command = new UploadDirectoryCommand(this, request); return beginOperation(command, callback, state); }
/// <summary> /// 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. /// </summary> /// <remarks> /// <para> /// 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. /// </para> /// </remarks> /// <param name="request"> /// The request that contains all the parameters required to upload a directory. /// </param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public Task UploadDirectoryAsync(TransferUtilityUploadDirectoryRequest request, CancellationToken cancellationToken = default(CancellationToken)) { validate(request); UploadDirectoryCommand command = new UploadDirectoryCommand(this, this._config, request); command.UploadFilesConcurrently = request.UploadFilesConcurrently; return command.ExecuteAsync(cancellationToken); }
/// <summary> /// Uploads the files in directory. The object key is obtained 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. /// </summary> /// <param name="request"> /// The request that contains all the parameters to upload a directory. /// </param> public void UploadDirectory(TransferUtilityUploadDirectoryRequest request) { if (!request.IsSetDirectory()) { throw new ArgumentNullException("directory"); } if (!request.IsSetBucketName()) { throw new ArgumentNullException("bucketName"); } if (!Directory.Exists(request.Directory)) { throw new ArgumentException(string.Format("The directory {0} does not exists!", request.Directory), "directory"); } UploadDirectoryCommand command = new UploadDirectoryCommand(this, request); command.Execute(); }
private void UploadDirectoryHelper(TransferUtilityUploadDirectoryRequest request) { validate(request); UploadDirectoryCommand command = new UploadDirectoryCommand(this, this._config, request); command.Execute(); }