我在从Amazon S3读取对象数据时遇到了严重问题。我读取特定字节范围的代码如下:
如果您检查 response.contentLength ,您会发现它具有正确的值,即结束 - 开始。 但是,响应流的长度小于我所询问的内容以及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();
}
}
答案 0 :(得分:0)
这是一个编码问题。 StreamReader类默认为UTF-8编码,忽略了它无法理解的字符。如果我在StreamReader构造函数中将编码设置为Default,则会得到解析。