![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]Насколько я знаю, из соображений безопасности браузер сделан так, чтобы автоматически это было сделать невозможно.