我在从 Amazon S3 读取对象数据时遇到严重问题。我用于读取特定范围字节的代码如下。
如果您检查response.contentLength,您会发现它具有正确的值,即 end - start。但是,响应流的长度小于我所询问的内容以及它在 ContentLength 中所说的内容。我没有得到我要求的所有数据,我不知道为什么以及修剪了哪些部分。
GetObjectRequest request = new GetObjectRequest()
{
BucketName = m_BucketName,
Key = m_FileName,
ByteRangeLong = new Amazon.S3.Model.Tuple<long, long>(start, end)
};
GetObjectResponse response = m_AwsClient.GetObject(request);
using (Stream responseStream = response.ResponseStream)
{
using (StreamReader reader =
new StreamReader(responseStream))
{
strResponse = reader.ReadToEnd();
}
}