Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

input type=file change value, kak?


Johnnnnnn ©   (2008-04-23 19:44:00) 

Есть web форма в которой есть input type=file мне нужно программно закидывать в этот инпут путь к своему фалу на компе к примеру C:\1.txt сразу хочу сказать что
document:=webbrowser1.document as IhtmlDocument2;
oveElements:=document.forms.item(0).elements;
ovEelements.item(1).value:='C:\1.txt';
не работает, есть в етом инпуте еще кнопка при нажатии на которую выскакивает диалог где можно указать путь к файлу, подскажите плиз как к нему получить доступ?


Johnnnnnnn   (2008-04-25 16:34:00) [1]

ivanov - Esche raz spasibo!


ivanov   (2008-04-25 10:17:00) [2]


> a kak vitaschit download URL potom?


через запрос idHTTP1.Getполучить страницу которую возвращает сервер, распарсить ее и вытащить ссылку.


Johnnnnnnn   (2008-04-24 21:12:00) [3]

ya poka esche ne razbiralsya cto eto takoe vot smotru eto tolko na forume, a kak vitaschit download URL potom?


Johnnnnnnn   (2008-04-24 21:10:00) [4]

ivanov - Spasibo schas posmotru cto tyt k chemy!


ivanov   (2008-04-24 13:35:00) [5]

не пойму зачем такие сложности, а через структуру TIdMultiPartFormDataStream заполнить слабо?

...
var Data: TIdMultiPartFormDataStream;
filetosend: string;
begin
filetosend := 'C:\file.rar';
data:=TIdMultiPartFormDataStream.Create;
try
data.AddFormField('desc0', 'description');
data.AddFormField('recpemail', 'abc@mail.com');
data.AddFormField('ownemail','myemail@mail.ru');
data.AddFile('file_0', filetosend, 'mime');
idHTTP1.Post(' http://www.sendspace.com/', data);
finally
data.free;
...

ну там еще варианты, если не примет, надо смотреть на какую страницу отправляет, и указывать именно ее в запросе.


Johnnnnnnn   (2008-04-24 00:10:00) [6]

Kstati po pregnemy esli kto znaet kak poluchit dostup k etomy dialogy na pryamyu bex poiska okna chere findwindow podelites infoi negadnichaite:)


Johnnnnnnn   (2008-04-24 00:07:00) [7]

e:=findwindow(0, 'Choose file');
but:=FindWindowEx(e, 0, 0, '&Open');
if e0 then showmessage('est');
e1:=FindWindowEx(e, 0, 'ComboBoxEx32', 0);
e1:=FindWindowEx(e1, 0, 'ComboBox', 0);
e1:=FindWindowEx(e1, 0, 'Edit', 0);
if e10 then begin
showmessage('e1');
SendMessage(e1, wm_settext, 0, Integer(Pchar('D:\22042008.rar')));
SendMessage(but, BM_CLICK, 0, 0);

zashibis rabotaet tolko prishlos delat esche odny formy kotoraya visit i chekaet kogda poyavitsya dialog posle etogo zapolnyaet tam vse


palva   (2008-04-23 23:10:00) [8]

Там не просто загрузка файла. Там есть скрипты которые, скажем, противодействуют запуску странички в отдельном фрейме. Там есть скрипт, который будет показывать прогресс бар. Короче, смоделировать это без браузера очень трудно. Так что пробуйте с браузером. Но если у вас получится разместить имя файла, то еще не факт, что он загрузится. Я подозреваю что такие сайты хорошо защищаются.


Johnnnnnnn   (2008-04-23 22:04:00) [9]

есть такой сервис sendspace.com мне нада на него закинуть файл и получить юрл для скачки хочу зделать ето все автоматом тоисть закидываем после того как закачало вытаскиваю давнлоад линк вобщем делаю так как вижу что могу зделать если я чето про ето незнаю рaскажите плиз?


palva   (2008-04-23 20:39:00) [10]

Нельзя это сделать средствами клиентского скрипта при помощи DOM. Но если в вашем распоряжении программа на Delphi, то проще передать файл по HTTP, моделируя поведение браузера. Зачем использовать для этого браузер? По-моему это на порядок сложнее.


Johnnnnnnn   (2008-04-23 20:10:00) [11]

да полюбому можно нехочется просто через HWND ето все заполнять но точе чем ето неавтоматически? наshел координаты окна вкинул туда значение никто даже незаметит если ето вируs был


palva   (2008-04-23 20:08:00) [12]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо