[英]Amazon S3 File Full of Zeros
我正在使用C#中的官方客戶端從AWS S3存儲桶下載PDF文件。 似乎正在下載整個文件,但是8192(0x2000)字節后,所有內容均為0。 參見下文(左側為原始文件,右側為S3下載):
任何關於為什么發生這種情況的想法將不勝感激。
這是代碼:
var client = new AmazonS3Client(
new AmazonS3Config
{
RegionEndpoint = RegionEndpoint.EUWest1
});
var transferUtility = new TransferUtility(client);
var request = new TransferUtilityOpenStreamRequest
{
BucketName = bucketName,
Key = key
};
using (var stream = transferUtility.OpenStream(request))
{
var bytes = new byte[stream.Length];
stream.Read(bytes, 0, (int)stream.Length);
stream.Close();
return bytes;
}
提前致謝,
史蒂夫。
對於遇到此問題的其他任何人,都必須在流上重復調用Read直到接收到所有字節為止:
using (var stream = transferUtility.OpenStream(request))
{
var position = 0;
var length = stream.Length;
var bytes = new byte[length];
do
{
position += stream.Read(bytes, position, (int)(stream.Length - position));
} while (position < length);
stream.Close();
return bytes;
}
感謝約翰指出這一點。
編輯:
或查看JohnLBevan友好指出的這種擴展方法: https ://stackoverflow.com/a/24412022/361842
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.