私のアプリが起動したときにたくさんの画像をプリロードしたいです。WPF Blobストレージからの画像のダウンロード
私は店、私は雲から画像バイトをダウンロードしたい
(このアドレスはところでHTTPSアドレスです)ブロブストレージとしてクラウドに保存されたその画像のURLが含まれているImage
クラスを持っていますそれらをオブジェクト上に置いて、イメージを表示する時間が来たら、そのバイトからイメージをロードします。
私は、このために、すべてのコードがありますが、私は例外を得続ける:
この操作を完了するのに適しませイメージングコンポーネントが見つかりませんでした。ここで
は私のコードです:私は、画面上の画像を取得したいときFIX
//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();
}
}
}
で更新EDITは、その後、私はこれを呼び出す:
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()呼び出し例外が発生します。
私はいくつかのテストを行いました。ローカルファイルシステムからファイルをロードすると、クラウド内のイメージとは異なるバイトセットが取得されます。私はブロブストレージやhttpsと何か関係がありますか?
はい、私はその画像を閲覧することができ、その画像は壊れていません。固定
EDIT、今すべての良い
いいえ私はそう思わない – Mark
それは間違っていた、私は編集を追加しました – Mark