1
我想在應用程序啓動時預先載入大量圖像,這是一次性的事情。WPF從Blob存儲下載圖像字節
我有一個Image
類,它包含存儲在雲作爲Blob存儲的圖像的URL(這個地址是HTTPS地址BTW)
我想從雲端下載圖像的字節數,存儲他們在對象上,然後當它顯示圖像時,從其字節加載圖像。
我有這一切的代碼,但我不斷收到異常:
適合來完成這個操作沒有成像部件被發現。
這裏是我的代碼:編輯與修復程序更新了
//Loaded on start-up
private static void LoadImageBytes(Image img)
{
var urlUri = new Uri(img.Url);
var request = (HttpWebRequest)WebRequest.CreateDefault(urlUri);
MemoryStream memStream = new MemoryStream();
using (var response = request.GetResponse())
{
var buffer = new byte[4096];
using (var stream = response.GetResponseStream())
{
int bytesRead = stream.Read(buffer, 0, buffer.Length);
while (bytesRead > 0)
{
memStream.Write(buffer, 0, bytesRead);
bytesRead = stream.Read(buffer, 0, buffer.Length);
}
img.ImageBytes = memStream.ToArray();
}
}
}
然後,當我想我把這個屏幕上的圖像:
public BitmapImage ImageFromBuffer(Byte[] bytes)
{
MemoryStream stream = new MemoryStream(bytes);
stream.Seek(0, SeekOrigin.Begin);
BitmapImage image = new BitmapImage();
image.BeginInit();
image.StreamSource = stream;
image.EndInit();
return image;
}
但在EndInit()調用我得到異常。
我已經做了一些測試,如果我從本地文件系統加載文件,我會得到一組不同的字節到雲中的圖像。我認爲它與blob存儲或https有關?
是的,我可以瀏覽到該圖像,並沒有損壞。
編輯,現在固定都好
好吧不,我猜不是 – Mark 2011-01-13 06:25:13