Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / WebBrowser - скрыть диалог "Сохранение файла" при скачивании файла. / 16 сообщений из 16, страница 1 из 1
26.11.2013, 14:58
    #38478349
gouph
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WebBrowser - скрыть диалог "Сохранение файла" при скачивании файла.
Отправляю форму таким образом:
Код: c#
1.
WebBrowser1.Document.GetElementById("INS_TASK").InvokeMember("click");


Форма отправляется методом POST.

Если смотреть трафик Fiddler'ом то видно два запроса:

1. Result 302, method POST
2. Result 200, method GET

После этого появляется диалог сохранения файла. Как его скрыть? Т.е. записать файл на диск без всплывающих окон и т.п.
...
Рейтинг: 0 / 0
26.11.2013, 15:09
    #38478384
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WebBrowser - скрыть диалог "Сохранение файла" при скачивании файла.
Никак.
...
Рейтинг: 0 / 0
26.11.2013, 15:14
    #38478398
gouph
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WebBrowser - скрыть диалог "Сохранение файла" при скачивании файла.
Antonariy,
Ну ведь есть способ скрыть диалог, когда путь к файлу известен. Наверняка должно быть решение и для моего варианта.
...
Рейтинг: 0 / 0
26.11.2013, 15:23
    #38478416
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WebBrowser - скрыть диалог "Сохранение файла" при скачивании файла.
Наличие возможности записи файла из интернета на диск без ведома юзера это широко открытые ворота для вирусов. Поэтому таких ворот во вменяемых браузерах нет.

Впрочем, есть одно решение, но исключительно кривое, исключительно для IE, и антивирусы его исключительно ненавидят и мониторят. Оно тебе надо?
...
Рейтинг: 0 / 0
26.11.2013, 15:28
    #38478435
gouph
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WebBrowser - скрыть диалог "Сохранение файла" при скачивании файла.
Antonariy,
>Наличие возможности записи файла из интернета на диск без ведома юзера это широко открытые ворота для вирусов. Поэтому таких ворот во вменяемых браузерах нет.

Chrome, к примеру, пишет в выбранную папку без запроса.

>Впрочем, есть одно решение, но исключительно кривое, исключительно для IE, и антивирусы его исключительно ненавидят и мониторят. Оно тебе надо?

Да, очень надо.
...
Рейтинг: 0 / 0
26.11.2013, 15:31
    #38478448
kmaw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WebBrowser - скрыть диалог "Сохранение файла" при скачивании файла.
gouphAntonariy,
Ну ведь есть способ скрыть диалог, когда путь к файлу известен. Наверняка должно быть решение и для моего варианта.

если только скачать файл, то вообще лучше не пользоваться WebBrowser
...
Рейтинг: 0 / 0
26.11.2013, 15:32
    #38478452
gouph
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WebBrowser - скрыть диалог "Сохранение файла" при скачивании файла.
kmaw,

А какие еще варианты? И если все-таки пользоваться WebBrowser - как скрыть диалог сохранения файла?
...
Рейтинг: 0 / 0
26.11.2013, 15:45
    #38478476
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WebBrowser - скрыть диалог "Сохранение файла" при скачивании файла.
gouphА какие еще варианты?

HttpRequest/HttpResponce
...
Рейтинг: 0 / 0
26.11.2013, 15:47
    #38478480
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WebBrowser - скрыть диалог "Сохранение файла" при скачивании файла.
Arm79gouphА какие еще варианты?

HttpRequest/HttpResponce

Забыл еще WebClient.
...
Рейтинг: 0 / 0
26.11.2013, 15:53
    #38478498
gouph
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WebBrowser - скрыть диалог "Сохранение файла" при скачивании файла.
Arm79,

Я не настолько владею темой, чтоб HttpRequest'ом все сделать. Мне надо войти с логином/паролем на сайт, прокликать кучу селектов и радиобаттонов последовательно на четырех формах (все уходят POSTом), прежде чем выйти на последнюю, где скачивается готовый файл. Прямой ссылки на файл нет. Т.е. последняя форма постит данные и после этого мне отдают файл.
...
Рейтинг: 0 / 0
26.11.2013, 15:56
    #38478504
gouph
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WebBrowser - скрыть диалог "Сохранение файла" при скачивании файла.
Antonariy,

Вот, нарыл страницу http://msdn.microsoft.com/en-us/library/aa770041(VS.85).aspx

Controlling Download and Execution:
DLCTL_SILENT: No user interface will be displayed during downloads.

Но я не понимаю, где и как этот код надо разместить.
...
Рейтинг: 0 / 0
26.11.2013, 16:03
    #38478517
Syrex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WebBrowser - скрыть диалог "Сохранение файла" при скачивании файла.
gouph,

Тогда точно лучше HTTPRequest/Responce
...
Рейтинг: 0 / 0
26.11.2013, 16:15
    #38478544
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WebBrowser - скрыть диалог "Сохранение файла" при скачивании файла.
gouphAntonariy,

Вот, нарыл страницу http://msdn.microsoft.com/en-us/library/aa770041(VS.85).aspx

Controlling Download and Execution:
DLCTL_SILENT: No user interface will be displayed during downloads.

Но я не понимаю, где и как этот код надо разместить.
Вы серьезно думаете, что этот код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
// Error checking omitted for clarity
CComPtr<IOleObject> spOleObj;

// Create WebBrowser--store pointer in class member variable m_spWebBrowser
CoCreateInstance(CLSID_WebBrowser, NULL, CLSCTX_INPROC, IID_IWebBrowser2, (void**)&m_spWebBrowser);

// Query WebBrowser for IOleObject pointer
m_spWebBrowser->QueryInterface(IID_IOleObject, (void**)&spOleObj);

// Set client site
spOleObj->SetClientSite(this);

// In-place activate the WebBrowser control
RECT rcClient
GetClientRect(&rcClient);
spOleObj->DoVerb(OLEIVERB_INPLACEACTIVATE, NULL, this, 0, GetTopLevelWindow(), &rcClient);

// Register container to intercept WebBrowser events
AtlAdvise(m_spWebBrowser, GetUnknown(), DIID_DWebBrowserEvents2, &m_dwCookie);

// Navigate to start page
m_spWebBrowser->Navigate(L"res://webhost.exe/startpage.htm", NULL, NULL, NULL, NULL);



будет для вас проще, чем HttpRequest/HttpResponce или WebClient?
...
Рейтинг: 0 / 0
26.11.2013, 16:19
    #38478555
gouph
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WebBrowser - скрыть диалог "Сохранение файла" при скачивании файла.
Arm79,

Серьезно. Мне всего-то надо понять, куда вкорячить флаг DLCTL_SILENT. А что делать с HttpRequest я даже приблизительно не представляю
...
Рейтинг: 0 / 0
26.11.2013, 16:36
    #38478580
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WebBrowser - скрыть диалог "Сохранение файла" при скачивании файла.
gouphAntonariy,

Вот, нарыл страницу http://msdn.microsoft.com/en-us/library/aa770041(VS.85).aspx

Controlling Download and Execution:
DLCTL_SILENT: No user interface will be displayed during downloads.

Но я не понимаю, где и как этот код надо разместить.Да, я затупил, ты же браузер снаружи контролируешь.

Этот способ работает при использовании веббраузера через чистый com, в дотнетовкий веббраузер DLCTL_SILENT никуда не вкорячишь. Раскуривай HttpRequest.
...
Рейтинг: 0 / 0
26.11.2013, 16:41
    #38478596
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WebBrowser - скрыть диалог "Сохранение файла" при скачивании файла.
Трудно сказать, я не сишник. Для меня это темный лес. Для них - возможно, все понятно с первого раза.

Тем не менее, чем плох код в MSDN ?

Делаете request, заполняете поля, вызов GetResponce, парсите полученный поток. Мое ИМХО - это проще, чем через Com работать с браузером.

А WebClient попроще будет даже.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / WebBrowser - скрыть диалог "Сохранение файла" при скачивании файла. / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]