上传的 S3 文件已损坏

S3 file uploaded is getting corrupted

我有一些代码可以将文件流上传到 s3 存储桶。我的一位客户遇到了一些问题,但我无法重现它。上传后,它们的文件大小保持为 0 字节。这不会每次都发生。好像很零星。

using (var webclient = new WebClient())
{
    using (MemoryStream stream = new MemoryStream(webclient.DownloadData(uri)))
    {
        using (var client = new AmazonS3Client())
        {
            PutObjectRequest request = new PutObjectRequest
            {
                BucketName = bucketName,
                Key = GetObjectKey(fileName, companyAccountId),
                InputStream = stream
            };

            if (height > 0)
                request.Metadata.Add("x-amz-meta-height", height.ToString());

            if (width > 0)
                request.Metadata.Add("x-amz-meta-width", width.ToString());

            var response = await client.PutObjectAsync(request);
        }
    }
}

非常感谢任何帮助或建议,以帮助确定正在上传的文件为何保持 0 字节。

是否还有其他任何东西可以消耗 inputStream 并在最后留下位置?我之前遇到过类似的问题,并通过确保流在

的开头解决了问题
stream.Seek(0, SeekOrigin.Begin);

stream.Position = 0;