| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB .NET > Загрузка файлов через POST через WebBrowser |
| Автор: DoKZ 9.7.2013, 19:03 |
| Занялся проектом на VB.NET и подошел к нему достаточно странно. Данные на сервере почти не меняются и не обрабатываются, да и я слаб в сокетных соединениях на VB (я знаю все языки программирования, но по чуть-чуть), поэтому писать сервер-приложение стало лень, ASP.NET тоже не догнал. Поэтому "сервер" представляет из себя несколько PHP-файлов, лежащих на хостинге, которые генерируют текстовый ответ (не HTML, без тэгов), а программа уже парсит этот ответ. Например, файл "/UserHasAccessToTest.php?login=dokz&testid=50" выдаст просто plain "YES" или "NO", что попадёт в System.Net.WebResponse, а оттуда в булеан и т д. Вопрос 1: Это, вообще, нормальный подход или это совсем извращение и стоит всё по-нормальному написать? Вопрос 2: Теперь появилась такая проблема. Мне нужно залить файл на сервер. FTP нет. Предположим, это Денвер. Я создал форму с стандартным POST-запросом для аплоада. Теперь мне надо на скрытой форме с компонентом WebBrowser открыть эту страницу, указать как-то путь к файлу и нажать "аплоад". Я реализовал это с помощью реальной формы и имитации движения мыши и кликов через Cursor, но смотрится ужасно. Спасибо заранее за ответ |
| Автор: DoKZ 10.7.2013, 00:02 | ||||||
| Под Денвером имел в виду локальный сервер (http://denwer.ru) Проблема решена сама собой. Точнее, благодаря гуглу и западным форумам. Всё оказалось очень просто, как Вы и говорили - WebRequest с нужными параметрами. Самой большой проблемой было понять как передать имя поля (которое здесь userfile):
Оказывается, вот так:
Спасибо Вам большое за ответ, очень помогли, почитал про всё это, вроде чуть больше понял. P.S. Может кому понадобится, полный код функции, полезная штука. Передаются путь к файлу и урл. Возвращает ответ, лучше сделать не String, а потоком, но мне было не критично.
|
| Автор: shurikv 10.7.2013, 06:26 | ||||||||
А a делаю так. Файл PHP на сервере (upload.php):
Есть еще два варианта через WebClient: 1 - синхронный (программа ждет окончания процесса)
UploadProgressChanged - изменился процент загрузки UploadFileCompleted - конец загрузки файла |