Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > WebBrowser и <input type="file">


Автор: neic 18.5.2011, 11:02
Столкнулся с нерешаемой мной проблемой.

Необходимо загрузить файл (или указать путь к файлу) на сайт. Перед этим мы должны быть залогинеными. Основа для перемещения используется как WebBrowser.

Как стало известно мы просто программно не можем задать value, т.к. это сделано с целью защиты от кражи файлов.
Есть как вариант, и он работает (т.е. уже сделано), открывать диалог выбора файла вводить путь и кликать кнопке "Открыть".

Но соль всего этого решения в том что фокус будет постоянно передаваться этому окну (Выбрать файл), а это не есть гуд.

Есть ли решение которое позволит вводить путь к файлу без окна "Выбрать файл"?

Пытался сделать фокус на объекте и слать SendMessage(hndl,"WM_SETTEXT",1,1); но безрезультатно.
hndl - Handle WebBrouser'a.

Автор: neic 18.5.2011, 12:58
Данный код тоже не помогает:
Код

                IHTMLDocument2 doc = (IHTMLDocument2)webBrowser1.Document.DomDocument;
                IHTMLControlRange imgRange = (IHTMLControlRange)((HTMLBody)doc.body).createControlRange();

                foreach (IHTMLElement img in doc.all)
                {
                    if (img.getAttribute("id") == "filefield")
                    {
                        //imgRange.add((IHTMLControlElement)img);
                        //img1.setAttribute("value", "sdadasd");
                        imgRange.execCommand("paste", false, @"C:\system_CRM\foto.jpg");
                        break;
                    }
                }

Автор: -Mikle- 18.5.2011, 13:14
Если задача заключается только в авторизации и отправке файла без участия пользователя, то не нужно использовать WebBrowser. Есть другие средства.

Автор: neic 18.5.2011, 13:28
Нет, после всего этого идёт дальнейшая работа с сайтом.

Я в курсе про WebClient, WebRequest и т.д.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)