我在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