本文整理汇总了C#中Amazon.S3.Transfer.TransferUtilityUploadRequest.WithTimeout方法的典型用法代码示例。如果您正苦于以下问题:C# TransferUtilityUploadRequest.WithTimeout方法的具体用法?C# TransferUtilityUploadRequest.WithTimeout怎么用?C# TransferUtilityUploadRequest.WithTimeout使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Amazon.S3.Transfer.TransferUtilityUploadRequest
的用法示例。
在下文中一共展示了TransferUtilityUploadRequest.WithTimeout方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Upload
private void Upload(IFileStreamWrap stream, string bucketName, string key, bool setPublicAccess)
{
try
{
key = key.ToLowerInvariant();
var existsResponse = FileExists(bucketName, key);
if (existsResponse != null && existsResponse.ContentLength == stream.Length)
{
Logger.Log(string.Format("Skipping {0} because it already exists in {1}", key, bucketName));
return;
}
var uploadRequest = new TransferUtilityUploadRequest();
uploadRequest.WithInputStream(stream.StreamInstance);
uploadRequest.WithBucketName(bucketName);
Logger.Log(String.Format("Bucket {0}", bucketName));
if (setPublicAccess)
uploadRequest.CannedACL = S3CannedACL.PublicRead;
uploadRequest.Key = key;
Logger.Log(String.Format("Key {0}", key));
uploadRequest.WithTimeout(14400000); // 4 Hours
var lastKnownPercentage = 0;
uploadRequest.UploadProgressEvent += (s, e) =>
{
if (e.PercentDone <= lastKnownPercentage)
return;
Logger.Log(String.Format("UploadProgress:{0} :{1}%", key, e.PercentDone));
lastKnownPercentage = e.PercentDone;
};
TransferUtility.Upload(uploadRequest);
}
catch (Exception exception)
{
Logger.Log("Error uploading to s3");
Logger.Log(exception.Message);
throw;
}
}