在所有字节都写入aws s3上传图片之前无法关闭流

时间:2017-12-27 17:12:34

标签: c# amazon-s3

我正在使用以下代码

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

    s3client.PutObject(putObjectRequest);

投掷低于错误

  

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

请告知

2 个答案:

答案 0 :(得分:0)

这是因为流结束了。只需将流的位置设置为0即可。

希望有所帮助!

答案 1 :(得分:0)

看来,当S3在上传时超时时,您也可能间歇性地得到相同的异常。您可以通过增加超时来解决此问题,例如:

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