使用 aws sdk multipart upload 上传大文件

Upload large files using aws sdk multipart upload

虽然我尝试使用 AWS 网站上使用 AWS SDK 提供的高级 API 代码上传大文件,但我无法这样做,应用程序因意外错误停止,尽管我提供了正确的参数。

这是我的代码:

static string existingBucketName = "xxxxxxxxxxxxxxxx";
static string keyName            = "filename";
static string filePath           = "D:\file.txt";

try
{
    TransferUtility fileTransferUtility = new TransferUtility(new AmazonS3Client(Amazon.RegionEndpoint.USEast1));

    TransferUtilityUploadRequest fileTransferUtilityRequest = new TransferUtilityUploadRequest
    {
        BucketName = existingBucketName,
        FilePath = filePath,
        StorageClass = S3StorageClass.ReducedRedundancy,
        PartSize = 6291456, // 6 MB.
        Key = keyName,
        CannedACL = S3CannedACL.PublicRead
    };

    fileTransferUtilityRequest.Metadata.Add("param1", "Value1");
    fileTransferUtilityRequest.Metadata.Add("param2", "Value2");
    fileTransferUtility.Upload(fileTransferUtilityRequest);
    Console.WriteLine("Upload 4 completed");
}
catch (AmazonS3Exception s3Exception)
{
    Console.WriteLine(s3Exception.Message, s3Exception.InnerException);
}

相同的文件在低级别上传时 API 上传时没有错误,但需要很多时间。所以我希望高级别 API 可以让它上传得更快。或者有没有其他方法可以使用SDK上传大文件?

只需将我的应用程序从 .Net 版本 4.0 升级到 .Net 版本 4.5 即可。