上传的 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;
我有一些代码可以将文件流上传到 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;