我試圖做一個簡單的事情的圖像,但我不能......同步方式從下載網址
我只是想從互聯網網址BitmapImage的,但我的功能似乎並沒有工作正確地說,它只是給我一小部分圖像。我知道WebResponse正在工作異步,這當然是爲什麼我有這個問題,但我怎麼能同步做到這一點?
這裏是我的功能:
internal static BitmapImage GetImageFromUrl(string url)
{
Uri urlUri = new Uri(url);
WebRequest webRequest = WebRequest.CreateDefault(urlUri);
webRequest.ContentType = "image/jpeg";
WebResponse webResponse = webRequest.GetResponse();
BitmapImage image = new BitmapImage();
image.BeginInit();
image.StreamSource = webResponse.GetResponseStream();
image.EndInit();
return image;
}
感謝很多的幫助。
我沒有太多的運氣,我的圖像仍然部分下載到MemoryStream,也許你可以給我一個示例代碼? – Karnalta 2010-09-07 14:42:47
從響應流中讀取時,它不會填滿緩衝區,從本地文件讀取時會發生這種情況。所以讀取的字節數量會少於緩衝區的大小。但是它會大於0,表示文件的末尾還沒有到達。我想這是從網址完全讀取圖像失敗的關鍵。 – treaschf 2010-09-07 14:46:10
確定這個示例工作下載圖片,我現在應該能夠將該文件轉換爲BitmapImage。 – Karnalta 2010-09-07 14:53:03