/// <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);
 }
示例#4
0
        /// <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();
        }
示例#5
0
 private void UploadDirectoryHelper(TransferUtilityUploadDirectoryRequest request)
 {
     validate(request);
     UploadDirectoryCommand command = new UploadDirectoryCommand(this, this._config, request);
     command.Execute();
 }