我有一个带图片的超链接。
我需要从该超链接读取/加载图像并将其分配给C#中的字节数组(byte[]
)。
感谢。
答案 0 :(得分:130)
WebClient.DownloadData是最简单的方式。
var webClient = new WebClient();
byte[] imageBytes = webClient.DownloadData("http://www.google.com/images/logos/ps_logo2.png");
第三方编辑:请注意,WebClient是一次性的,因此您应该使用using
:
string someUrl = "http://www.google.com/images/logos/ps_logo2.png";
using (var webClient = new WebClient()) {
byte[] imageBytes = webClient.DownloadData(someUrl);
}
答案 1 :(得分:1)
.NET 4.5引入了WebClient.DownloadDataTaskAsync()用于异步使用。
示例:
using ( WebClient client = new WebClient() )
{
byte[] bytes = await client.DownloadDataTaskAsync( "https://someimage.jpg" );
}
答案 2 :(得分:0)
如果您需要异步版本:
using (var client = new HttpClient())
{
using (var response = await client.GetAsync(url))
{
byte[] imageBytes = await response.Content.ReadAsByteArrayAsync().ConfigureAwait(false);
}
}