gpt4 book ai didi

wpf - 从 URL 同步下载图像

转载 作者:行者123 更新时间:2023-12-04 14:35:26 24 4
gpt4 key购买 nike

我只想从互联网 URL 获取 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 中。 .然后创建 BitmapImage从它的对象。

您可以像这样下载图像:

Uri urlUri = new Uri(url); 
var request = WebRequest.CreateDefault(urlUri);

byte[] buffer = new byte[4096];

using (var target = new FileStream(targetFileName, FileMode.Create, FileAccess.Write))
{
using (var response = request.GetResponse())
{
using (var stream = response.GetResponseStream())
{
int read;

while ((read = stream.Read(buffer, 0, buffer.Length)) > 0)
{
target.Write(buffer, 0, read);
}
}
}
}

关于wpf - 从 URL 同步下载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3659574/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com