Example #1
0
        public async Task <string> UploadFileAsync(string bucketName)
        {
            try
            {
                var fileTransferUtility = new TransferUtility(_client);

                // option 1
                await fileTransferUtility.UploadAsync(filePath, bucketName);

                // option 2
                await fileTransferUtility.UploadAsync(filePath, bucketName, uploadWithKeyName);

                // option 3
                using (var fileToUpload = new FileStream(filePath, FileMode.Open, FileAccess.Read))
                {
                    await fileTransferUtility.UploadAsync(fileToUpload, bucketName, fileStreamUpload);
                }

                // option 4
                var fileTransferUtilityRequest = new TransferUtilityUploadRequest {
                    BucketName   = bucketName,
                    FilePath     = filePath,
                    StorageClass = S3StorageClass.Standard,
                    PartSize     = 6291456,
                    CannedACL    = S3CannedACL.NoACL
                };

                fileTransferUtilityRequest.Metadata.Add("param1", "value1");
                fileTransferUtilityRequest.Metadata.Add("param2", "value2");

                await fileTransferUtility.UploadAsync(fileTransferUtilityRequest);

                return(fileTransferUtilityRequest.ToString() + fileTransferUtility.ToString());
            }
            catch (AmazonS3Exception aExe)
            {
                Console.WriteLine(aExe.Message);
                return(aExe.Message);
            }
            catch (Exception exe)
            {
                Console.WriteLine(exe.Message);
                return(exe.Message);
            }
        }