我在C#中编写了一个ASP.NET服务器,需要从外部服务器获取一堆图像。我遇到的问题是图像从我的方法中返回,但它看起来像只有一半加载。WebRequest.GetResponse等待完成
这是瓷砖的外观,当加载经过我的服务器一样(这是一个OSM周期地图瓦片):
这是瓷砖的样子,如果我只是在浏览器中打开(来自同一个URL,当然):
这是很清楚,我认为所有的字节都没有过线使得它,但我不知道他们去哪里迷路。这是我的代码看起来像:
private byte[] GetTile(string url)
{
var response = WebRequest.Create(url).GetResponse();
Stream respStr = response.GetResponseStream();
byte[] buf = new byte[response.ContentLength];
respStr.Read(buf, 0, buf.Length);
return buf;
}
这也不觉得正确的方式来做到这一点。我的字节在哪里?在我从函数返回之前是否有推荐的方法来等待来自服务器的所有字节?
乔恩斯基特这里有一个答案的解释:http://stackoverflow.com/questions/221925 /创建一个字节数组 - 从一个流 – JoshVarty