Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2012, 20:10   #1
Pcrepair
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 260
По умолчанию TWebBrowser и окно закачки файла

Добрый день. Стандартный код типа Wbbr.Navigate(Url); на УРЛ, к примеру, http://zakupki.rosatom.ru/file.ashx?oid=199399 выдает окно для ручного подтверждения закачки или нет файла.док, что нежелательно

Вопрос: можно ли это отключить, если можно то как если нет то какие еще возможны варианты
Pcrepair вне форума Ответить с цитированием
Старый 23.11.2012, 20:33   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Если хочешь скачать файл, используй TIDHttp компонент
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.11.2012, 20:41   #3
Pcrepair
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 260
По умолчанию

Я еще хочЮ:
1. автовыбор кодовой страницы
2. правильную закачку фреймов
3. обработку ЖАБА-скриптов

инди не катит
Pcrepair вне форума Ответить с цитированием
Старый 23.11.2012, 21:02   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А причем тут эти желания?
Я не предлагаю заменить браузер, я предлагаю допилить к работе с ним ИНДИ.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.11.2012, 21:19   #5
Pcrepair
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 260
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
предлагаю допилить к работе с ним ИНДИ.
Что бы могла значить эта фраза?
что касается желаний, это не просто пожелания а необходимые условия

кстати проблема кодовой страницы и закачки фреймов решена. на инди
Pcrepair вне форума Ответить с цитированием
Старый 23.11.2012, 21:24   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Что бы могла значить эта фраза?
Ты используешь компонент браузера в Делфи. так? Почему бы тебе не использовать параллельно с ним и другие компоненты, облегчающие решение задачи, с которой по твоим требованиям не справляется браузер?. Допилить - означает усовершенствовать программу за счет других ресурсов.
Цитата:
это не просто пожелания а необходимые условия
Тогда это не повод использовать IE. Это так же не оправдание не использовать другие возможности получения из интернета страниц и файлов. Разве в твоем ТЗ написано "Кроме TWEBBrowser не использовать ничего"?
Цитата:
проблема кодовой страницы и закачки фреймов решена. на инди
Тогда откуда ноги у твоих вопросов раз это решено?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.11.2012, 21:45   #7
Pcrepair
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 260
По умолчанию

не решена проблема обработки ЖАБА-скриптов
из известных компонентов встроенную обработку скриптов имеет только TWebBrowser, и то не сам а использует ресурс ОС
Но у него недостаток - смотри заголовок темы

ну че тут неясного? и зачем уводить тему в сторону? вопрос простой, дублирую:
можно ли это(выскакивание таблицы с запросом о сохранении файлА) отключить, если можно то как если нет то какие еще возможны варианты

по существу вопроса кто что знает?
Pcrepair вне форума Ответить с цитированием
Старый 23.11.2012, 22:17   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
и зачем уводить тему в сторону?
Поясняю для тех кто не понял:
TWebBrowser подхватывает настройки самого IE, а значит чтоб включить автоматическое сохранения файла из инета нужно настраивать сам IE, если конечно его версия позволяет такое. Если же не удается отключить это окошко, то можно в событиях браузера перехватить момент перехода на ссылку, представляющую файл приспособленный для загрузки, и загрузить сторонними возможностями, такими как ИНДИ, URLDownload или другими популярными к примеру как здесь: http://delphiworld.narod.ru/base/download_any_url.html или вот тут http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx
Для этого можно описать скачку в событии OnBeforeNavigate, где переменная Cancel выставляется в True, дабы запретить браузеру средствами IE пытаться открыть ссылку.

Пример:
Код:
uses urlmon,
...
procedure TForm2.WebBrowser1BeforeNavigate2(ASender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
begin
  if pos('.pdf',URL)<>0 then begin
    Cancel:=true;
    URLDownloadToFile(Nil,URL,'d:\File.pdf',0,Nil);
  end;
end;
За точность не ручаюсь, к сожалению аналог в своих архивах не нашел, но по памяти воспроизвел.

Теперь понятно что я хотел сказать?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.11.2012, 22:35   #9
Pcrepair
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 260
По умолчанию

его версия, иксплорера, такого не позволяет. если бы позволяло не было бы и вопроса.
это файл, кстати, грузить и не надо (который отсюда: http://zakupki.rosatom.ru/file.ashx?oid=199399 и с подобных серверов).

да это все понятно, у меня даже есть специальный список чего нельзя закачавать
типа .pdf
есть только одна маленькая проблема: в УРЛ http://zakupki.rosatom.ru/file.ashx?oid=199399 нет указания на тип файла.

то ест предлагается вначале закачать с заданного УРЛ то что закачается с помощью ИНДИ и ЕСЛИ не (.дос и прочее по списку), ТОГДА тот же урл перекачать по новой(или загрузить код из сохраненного в потоке) в ТВебБраузер?

Накрученно

Вообще предполагалось что знатоки ТВебБраузер просто подскажут где там в свойствах или методах можно отключить обойти эту фигню. но есть ли знатоки?
Pcrepair вне форума Ответить с цитированием
Старый 23.11.2012, 23:01   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Накрученно
Нет. Я тебя прекрасно понял. Это редиректы - что-то типа защиты от ботов.
Действительно это может стать проблемой. Однако где-то я видел, как распознать выводит ли ссылка на файл или на простую страницу сайта.
По-моему это был пример с применением WinInet...
Почитай еще про событие OnFileDownload (Если в твоей Делфи оно описано).
http://www.cryer.co.uk/brian/delphi/...OnFileDownload
Сам я его не пробовал, хватало того что я описал, правда в моем случае редиректов не было.
Цитата:
но есть ли знатоки?
Хорошо, я тебя понял, не буду мешать. Всего доброго...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
модальное окно для сохранения файла Dan_banan ASP.NET 1 13.10.2012 17:27
Ошибка при работе с компонентом с TWebBrowser и подключением файла с ресурсами bibika Общие вопросы Delphi 1 14.12.2011 10:34
TWebBrowser. Как автоматически прокрутить окно в самый низ makarrrka Компоненты Delphi 0 09.02.2009 16:50
Нужен компонент для закачки файла dimfil Компоненты Delphi 1 21.01.2009 13:00
Запустить окно закачки файла при нажатии кнопки iankov JavaScript, Ajax 3 11.01.2009 13:14