【问题标题】:AWS SDK C#: null reference exception when trying to upload object to S3 bucketAWS SDK C#:尝试将对象上传到 S3 存储桶时出现空引用异常
【发布时间】:2016-09-19 20:33:56
【问题描述】:

我有以下代码用于连接和上传到 AWS S3 存储桶:

class Program    
{
    public static AmazonS3EncryptionClient encryptionClient;

    public static void Main(string[] args)
    {
        Upload();
    }

    static void Upload()
    {
        var algorithm = new System.Security.Cryptography.ECDsaCng();
        encryptionClient = new AmazonS3EncryptionClient(new EncryptionMaterials(algorithm));

        PutObjectRequest request = new PutObjectRequest();
        request.BucketName = "...";
        request.Key = "...";
        request.InputStream = new MemoryStream(Encoding.Default.GetBytes("..."));
        encryptionClient.PutObject(request);
    }

我在

处收到空引用异常
encryptionClient.PutObject(request);

行,但我找不到原因,因为我的对象都不是空的。

我正在使用 Visual Studio 以及最新版本的 AWSSDK.S3 和 AWSSDK.Core 包。

【问题讨论】:

    标签: c# amazon-web-services amazon-s3 nullreferenceexception aws-sdk


    【解决方案1】:

    NPE 与ECDsaCng 算法的使用有关。换线

    var algorithm = new System.Security.Cryptography.ECDsaCng();

    var algorithm = System.Security.Cryptography.RSA.Create();

    允许代码按预期执行。我不能说为什么会出现这种行为。堆栈跟踪源自 AWS 开发工具包中的 EncryptEnvelopeKey

    【讨论】:

      猜你喜欢
      • 2016-01-23
      • 2020-12-15
      • 2016-03-18
      • 1970-01-01
      • 2017-11-06
      • 1970-01-01
      • 2019-09-11
      • 1970-01-01
      • 2020-03-17
      相关资源
      最近更新 更多