C # winforms веб-браузер управления - как загрузить изображение? - PullRequest
1 голос
/ 19 января 2011

В приложении Winforms у меня есть элемент управления веб-браузера, который вошел на сайт.Теперь я хочу загрузить изображение (которое может быть загружено только после входа на этот сайт) программным способом.

Итак, как мне указать моему веб-браузеру загрузить изображение, т.е.http://www.example.com/image.jpg, и сохранить его где-нибудь?

Ответы [ 2 ]

3 голосов
/ 19 января 2011

Если вы не хотите сохранять файл непосредственно на жесткий диск, вы можете загрузить его в поток. например,

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

Если вы хотите сохранить его на жестком диске, вы можете вызвать метод Bitmap.Save(). например,

b.Save("bitmap.jpg");
0 голосов
/ 19 января 2011

Я полагаю, что вы не можете сделать это молча, используя веб-браузер. Не забывайте, что это экземпляр IE в конце. Что вы можете сделать: перейдите к ImageURL, затем вызовите ShowSaveAsDialog (), который покажет пользователю диалоговое окно «Сохранить как» для сохранения изображения:

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

Лучшее решение - получить изображение с помощью веб-клиента

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...