【问题标题】:Cannot close stream until all bytes are written aws s3 upload image在写入所有字节之前无法关闭流 aws s3 上传图片
【发布时间】:2017-12-27 17:12:34
【问题描述】:

我正在使用下面的代码

using (AmazonS3Client s3client = 
          new AmazonS3Client( ConfigurationManager.AppSettings["s3accesskey"], 
                              ConfigurationManager.AppSettings["s3secret"]))
{
    PutObjectRequest putObjectRequest = new PutObjectRequest
    {
        BucketName = rootBucket,
        Key = key,
        InputStream = content
    };

    s3client.PutObject(putObjectRequest);

下面报错

在写入所有字节之前无法关闭流。

请指教

【问题讨论】:

    标签: c# amazon-s3


    【解决方案1】:

    发生这种情况是因为流在末尾。只需将流的位置设置回 0 即可。

    希望有帮助!

    【讨论】:

      【解决方案2】:

      当 S3 在上传时超时时,您似乎也可以间歇性地得到同样的异常。你可以通过增加超时来解决这个问题,例如:

      new AmazonS3Client( ConfigurationManager.AppSettings["s3accesskey"],
                          ConfigurationManager.AppSettings["s3secret"],
                          new AmazonS3Config { Timeout = TimeSpan.FromMinutes(30),
                                               ReadWriteTimeout = TimeSpan.FromMinutes(30) } )
      

      【讨论】:

        猜你喜欢
        • 2023-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-04
        • 2010-09-20
        • 2013-09-25
        相关资源
        最近更新 更多