Initiates the asynchronous execution of the Upload operation. 
            
 Declaration Syntax
 Declaration Syntax| C# | 
public IAsyncResult BeginUpload( Stream stream, string bucketName, string key, AsyncCallback callback, Object state )
 Parameters
 Parameters- stream (Stream)
- The stream to read to obtain the content to upload.
- bucketName (String)
- The target Amazon S3 bucket, that is, the name of the bucket to upload the stream to.
- key (String)
- The key under which the Amazon S3 object is stored.
- callback (AsyncCallback)
- An AsyncCallback delegate that is invoked when the operation completes.
- state (Object)
- A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback procedure using the AsyncState property.
 Return Value
 Return ValueAn IAsyncResult that can be used to poll, or wait for results, or both. 
            This values is also needed when invoking EndUpload.
 Remarks
 RemarksIf 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.
 Exceptions
 Exceptions| Exception | Condition | 
|---|---|
| ArgumentNullException | |
| WebException | |
| AmazonS3Exception | 
 See Also
 See AlsoUpload()()()()