我在从亚马逊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();
}
}发布于 2013-09-09 16:56:20
这是编码问题。StreamReader类默认为UTF-8编码,它忽略它无法理解的任何字符。如果我在StreamReader构造函数中将编码设置为默认值,它就会被解析。
https://stackoverflow.com/questions/18690323
复制相似问题