Пример #1
0
        public string DistributeFile(string sourcePath)
        {
            using (Stream fileStream = File.OpenRead(sourcePath))
            {
                Console.Write($"Distributing {Path.GetFileName(sourcePath)}");

                PutObjectRequest request = new PutObjectRequest()
                {
                    BucketName      = _bucketPath,
                    Key             = System.IO.Path.GetFileName(sourcePath),
                    CannedACL       = S3CannedACL.PublicRead,
                    InputStream     = fileStream,
                    AutoCloseStream = true,
                };
                request.StreamTransferProgress += (sender, e) =>
                {
                    Amazon.Runtime.StreamTransferProgressArgs args = (e as Amazon.Runtime.StreamTransferProgressArgs);
                    args.PercentDone.WriteProgressToConsole();
                };
                PutObjectResponse response = _client.PutObject(request);
                Console.WriteLine();

                return(_client.GeneratePreSignedURL(_bucketPath, Path.GetFileName(sourcePath), DateTime.UtcNow.AddYears(10), null));
            }
        }
Пример #2
0
        public bool UploadPart(GlacierFilePart part, EventHandler<Amazon.Runtime.StreamTransferProgressArgs> progressCallback)
        {
            long total = partSize;

            for (int i = 0; i < 16; ++i)
            {
                incrementTransferred = partSize / 16;
                transferred += incrementTransferred;
                Amazon.Runtime.StreamTransferProgressArgs e = new Amazon.Runtime.StreamTransferProgressArgs(incrementTransferred, transferred, total);
                progressCallback(null, e);
                Thread.Sleep(2);
            }
            transferred = 0;

            return true;
        }
Пример #3
0
        public bool UploadPart(GlacierFilePart part, EventHandler <Amazon.Runtime.StreamTransferProgressArgs> progressCallback)
        {
            long total = partSize;

            for (int i = 0; i < 16; ++i)
            {
                incrementTransferred = partSize / 16;
                transferred         += incrementTransferred;
                Amazon.Runtime.StreamTransferProgressArgs e = new Amazon.Runtime.StreamTransferProgressArgs(incrementTransferred, transferred, total);
                progressCallback(null, e);
                Thread.Sleep(2);
            }
            transferred = 0;

            return(true);
        }
Пример #4
0
 protected void OnUploadProgess(object obj, Amazon.Runtime.StreamTransferProgressArgs args)
 {
     uploadProgress = args.PercentDone / 100.0f;
 }