将图像上传到 Amazon S3 存储桶、.NETCore2

Jin*_*ter 1 c# amazon-s3 asp.net-core-2.0

我想将图像上传到 S3 存储桶。它是一个 HTTP 请求吗?或者我是否必须使用 AWS 工具包和 SDK 或其他东西。文档似乎很整洁/

Wah*_*uen 5

您可以使用现有的 SDK 轻松实现这一点

AWS 和 .Net Core 2.0

.NET Core 2.0 支持 .NET Standard 2.0,这意味着 .NET Core 2.0 支持任何面向 .NET Standard 2.0 及更低版本的 NuGet 包。适用于 .NET 的 AWS 开发工具包面向 .NET Standard 1.3,这意味着您可以将其用于 .NET Core 1.x 或 .NET Core 2.0。

您可以导入AWSSDK.S3包含用于与 S3 Bucket 交互的库的nuget 包。

例子:

    // if you happened to store this in your appsettings.json
    var accessKey = _configuration["AwsAccessKey"];
    var secretKey = _configuration["AwsSecretKey"];

    var client = new AmazonS3Client(accessKey, secretKey, Amazon.RegionEndpoint.USEast1);

    var request = new PutObjectRequest
    {
        BucketName = "BucketName",
        Key = "KeyName",
        FilePath = "FilePath"
    };

    var response = client.PutObjectAsync(request).GetAwaiter().GetResult();
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息和示例,请参阅使用适用于 .NET 的 AWS 开发工具包上传对象

更新 - 修改以显示在创建客户端时传入 AccessKey 和 SecretKey 的示例