我有一些將檔案流上傳到 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 位元組。
uj5u.com熱心網友回復:
還有其他東西可以消耗 inputStream 并將位置留在最后嗎?我以前遇到過類似的問題,并通過確保流在開始時解決了這個問題
stream.Seek(0, SeekOrigin.Begin);
或者
stream.Position = 0;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/472778.html
