c#winforms webbrowser控件 - 如何下载图像?

时间:2011-01-19 16:46:05

标签: c# image browser

在Winforms应用程序中,我有一个登录到站点的webbrowser控件。 现在我想以编程方式下载一张图片(只能在登录该网站时下载)。

那么如何告诉我的webbrowser控件下载图像,即。 http://www.example.com/image.jpg,并将其保存在某处?

2 个答案:

答案 0 :(得分:3)

如果您不想将文件直接保存到硬盘驱动器,可以将其下载到流中。 e.g。

WebClient wc = new WebClient();
byte[] bytes = wc.DownloadData("http://www.example.com/image.jpg");
Bitmap b = new Bitmap(new MemoryStream(bytes));

如果您希望将其保存到硬盘中,可以调用Bitmap.Save()方法。 e.g。

b.Save("bitmap.jpg");

答案 1 :(得分:0)

我猜你不能使用WebBrowser默默地这样做。不要忘记它最后是一个IE实例。你可以做的是:导航到ImageURL,然后调用ShowSaveAsDialog(),它将向用户显示另存为对话框以保存图像:

WebBrowser wb = new WebBrowseR();
wb.Navigate("ImageURL");
wb.ShowSaveAsDialog();

更好的解决方案是使用WebClient获取图像

System.Net.WebClient wc = new System.Net.WebClient();
wc.Credentials = new System.Net.NetworkCredential("username", "password"); //Authenticates to the website - Call it only if the image url needs authentication first
wc.DownloadFile("imageURL", "downloadedImage.jpg"); //Downloads the imageURL to the local file downloadedImage.jpg