Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Url-рисунок

1.7K
27 мая 2006 года
alektrik
140 / / 16.01.2006
Проблема такая... как в PictureBox например, запихать url-рисунок и что такое в System.Net URI, как расшифровывается и т.д.?
273
28 мая 2006 года
3A3-968M
1.2K / / 22.12.2005
1) System.Uri класс нужен для парсинга Унифицированного Указателя Ресурса (uniform resource identifier).
2) Для того, чтобы тебе загрузить в PictureBox рисунок через Url, нужно закачать сам рисунок на комп. Это можно сделать так:
using System;
using System.Net;
using System.IO;
using System.Text;

HttpWebRequest Request = (HttpWebRequest)WebRequest.Create("http://www.blabla.ru/image.jpg");
HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();
Stream imageJpg = Response.GetResponseStream();
Теперь в переменной imageJpg находится поток байтов нужного изображения.
StreamReader sr = new StreamReader(imageJpg);
byte[] imageContent = new byte[sr.Length];
sr.Read(imageContent, 0, sr.Length);
Stream sw = new FileStream("image.jpg", FileMode.Create);
sw.Write(imageContent, 0, imageContent.Length);
sw.Close();
sr.Close();
imageJpg.Close();
Response.Close();
Теперь файл image.jpg находится на локальном диске.
1.7K
29 мая 2006 года
alektrik
140 / / 16.01.2006
Это конечно не совсем работает... портак таков
sr.Read(char[], 0, sr.Length);
sr.Write(byte[]...)
геморойно слегка... т.к. нужно рисунок возникла след. идея:
 
Код:
HttpWebRequest Request = (HttpWebRequest)WebRequest.Create("http://www.blabla.ru/image.jpg");
HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();
Stream imageJpg = Response.GetResponseStream();
Image img=Image.FromStream(imageJpg);
pictureBox.Image=img;
imageJpg.Close();
Response.Close();


это кончено всё хорошо, но у меня вышла накладочка... картинка в файле *.phtml@k=#random#
причем #random# генерится на серваке и всегда разное (из серии защита от спама)... вот такую картинку мне нужно выдрать...
273
29 мая 2006 года
3A3-968M
1.2K / / 22.12.2005
А как же ты узнаешь этот random сам?
1.7K
29 мая 2006 года
alektrik
140 / / 16.01.2006
Когда сайт прогружается смотришь url рисунка, а там нечто похожее на http://..../image.phtml?k=1231231; когда сайт перегружаешь k меняется в сторону большего... мож. даже и не rand'ом генерится, но факт в том, что число всегда разное...
273
29 мая 2006 года
3A3-968M
1.2K / / 22.12.2005
После каких действий появляется ссылка на картинку? Если я понял правильно, то Url, на котором находится картинка, постоянен, а сама ссылка на картинку меняется. Если так, тогда тебе нужно получить ответ на запрос этого ресурса. Дальше пропарсить HTML код, узнать адрес картинки и схавать картинку новым запросом. Парсеров HTML в инете навалом бесплатных.
1.7K
29 мая 2006 года
alektrik
140 / / 16.01.2006
посмотри на сайте sms.megafonmoscow.ru ссылку на картинку с кодом подтверждения и всё сразу станет ясно...
273
30 мая 2006 года
3A3-968M
1.2K / / 22.12.2005
Цитата:
Originally posted by alektrik
посмотри на сайте sms.megafonmoscow.ru ссылку на картинку с кодом подтверждения и всё сразу станет ясно...


Предлагаю такой план:
1) С помощью объекта Response получаешь поток ответа (GetResponseStream).
2) Далее ищешь тот тэг img, в котором находится путь к изображению при помощи парсера HTML-кода (качнуть можно без проблем где угодно). Главное не вызывай метод Close для объекта Response, иначе закроешь сессию и код, введёный в соответствие этой картинки получится неверный.

Ну вот и всё, собственно

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог