Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.03;
Скачать: CL | DM;

Вниз

прием файла скриптом   Найти похожие ветки 

 
niKo   (2007-12-29 19:15) [0]

блин, не могу разобраться
<form action="http://..." method=post>
<input type=file name=names><input type=submit>
</FORM>
в скрипте Response.Content:=request.Files.Count; равно 0 почему-то
request.Files.Items[0].FileName - вообще ругается ))
как должно быть правильно


 
clickmaker ©   (2007-12-29 19:26) [1]

<form action="http://..." method="post" enctype="multipart/form-data">


 
niKo   (2007-12-29 19:35) [2]


> clickmaker ©   (29.12.07 19:26) [1]
>
> <form action="http://..." method="post" enctype="multipart/form-data">

пробовал, не катит


 
clickmaker ©   (2007-12-29 19:40) [3]


> [2] niKo   (29.12.07 19:35)

значит, чего-то неправильно указал
ты через input type="file" заливаешь?


 
niKo   (2007-12-29 19:46) [4]


> clickmaker ©   (29.12.07 19:40) [3]
>
>
> > [2] niKo   (29.12.07 19:35)
>
> значит, чего-то неправильно указал
> ты через input type="file" заливаешь?


ну вот форма
<form action="http" method="post" enctype="multipart/form-data">
<input type=file name=names><input type=submit></FORM>

в скрипте одна строчка, пытаюсь прочитать имя файла request.Files.Items[0].FileName сразу ругается


 
homm ©   (2007-12-29 20:03) [5]

> [0] niKo   (29.12.07 19:15)
> в скрипте Response.Content:=request.Files.Count;

Очень интересно, на каком таком языке скрипт.


 
clickmaker ©   (2007-12-29 20:04) [6]


> [5] homm ©   (29.12.07 20:03)

на php, конечно, не видно разве? )


 
niKo   (2007-12-29 20:08) [7]


> homm ©   (29.12.07 20:03) [5]
>
> > [0] niKo   (29.12.07 19:15)
> > в скрипте Response.Content:=request.Files.Count;
>
> Очень интересно, на каком таком языке скрипт.

пристаете к словам)

примерно так
procedure TWebModule1.WebModule1WebActionItem16Action(Sender: TObject;
 Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
 slContent:TStringList;
 i:integer;
begin
 slContent:=TStringList.Create;
 try
 i:=request.Files.Count;
 slContent.Add(IntToStr(i)+"<BR>");
 slContent.Add(request.Files.Items[0].FileName+"<BR>i");
 except
 sleep(1);
 end;

 Response.Content:=slContent.Text;
end;


 
homm ©   (2007-12-29 20:10) [8]

> [7] niKo   (29.12.07 20:08)
> пристаете к словам)

Умник? Я вообщето пытаюсь понять что тебе нужно. У кого проблемы у тебя или у меня?


 
homm ©   (2007-12-29 20:11) [9]

> [7] niKo   (29.12.07 20:08)
> WebActionItem16Action

Это что за компонент? И что за процедура?


 
homm ©   (2007-12-29 20:17) [10]

Млин, я вообще фигею, написал 2 строчки на html, непонятно где находящиеся и загадочное «request.Files.Count» непонятно к чему относящееся.
Человек, что у тебя, TWebBrowser, EmbededBrowser или что-то иное?  Хоть что-то объясни?


 
Kerk ©   (2007-12-29 20:23) [11]

Это похоже на обычный CGI на делфи


 
niKo   (2007-12-29 20:26) [12]

все по порядку
приложение WebServerApplication>CGI Stand-alone executable

вот форма (html) для загрузки файл на сервер
<form action="http//скрипт" method="post" enctype="multipart/form-data">
<input type=file name=names><input type=submit></FORM>

по щелчку отправить выполняется скрипт см. ниже

procedure TWebModule1.WebModule1WebActionItem16Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
slContent:TStringList;
i:integer;
begin
slContent:=TStringList.Create;
try
i:=request.Files.Count;
slContent.Add(IntToStr(i)+"<BR>");
slContent.Add(request.Files.Items[0].FileName+"<BR>i");
except
sleep(1);
end;

Response.Content:=slContent.Text;
end;

в чем тут проблема


 
homm ©   (2007-12-29 20:36) [13]

> [12] niKo   (29.12.07 20:26)

Так то лучше.

Размер файла не превышает максимальный для сервера?


 
niKo   (2007-12-29 20:42) [14]


> homm ©   (29.12.07 20:36) [13]
> Размер файла не превышает максимальный для сервера?

сам файл для загрузки, пару строчек в .txt


 
niKo   (2007-12-29 20:59) [15]

только-что ради интереса загрузил через PHP, никаких проблем
что делать с загрузкой в Delphi даже не представляю


 
homm ©   (2007-12-29 21:40) [16]

Теперь я за лоха :)

Ни разу таки не работал с CGI из дельфи, пока застопарилось на том, что в WebDispatcher никакие события не выполняются. Где-то нужно указать его как диспачер по умолчанию?


 
niKo   (2007-12-29 22:15) [17]


> homm ©   (29.12.07 21:40) [16]
>
> Теперь я за лоха :)

мы вместе))
короче вот нарыл
> для получения параметров методом методом POST используется ContentFields
> для получения параметров методом методом GET используется QueryFields

З.Ы. теперь могу принимать .txt, Request.ContentFields.SaveToFile()
картинки и .exe не сохраняются)
еще никак не могу догнать, почему и нафига тогда Request.ContentFields.SaveToStream(Stream:TStream);
и самое главное, это даже бесит, нафига тут Request.Files с самого начала полез сюда и обломался


> Ни разу таки не работал с CGI из дельфи, пока застопарилось
> на том, что в WebDispatcher никакие события не выполняются.
>  Где-то нужно указать его как диспачер по умолчанию?

З.Ы. если правильно понял то у меня тоже тут была засада
по умолчанию Default:=true
или PathInfo задать и потом в конце пути к скрипту додавать /PathInfo
дальше ?параметры скрипта


 
antonn ©   (2007-12-29 22:17) [18]


> еще никак не могу догнать, почему и нафига тогда Request.
> ContentFields.SaveToStream(Stream:TStream);

можно сохранить в поток, дешифровать и записать на диск :)


 
homm ©   (2007-12-29 22:24) [19]

> [17] niKo   (29.12.07 22:15)
> картинки и .exe не сохраняются)

Потому что ContentFields типа TStrings, а в картинках нулевых симвлов дофига.


 
niKo   (2007-12-29 22:25) [20]


> можно сохранить в поток, дешифровать и записать на диск
> :)

тут тоже засада, пробывал :)
у меня вышло с потока точно не помню но где то, байт 100 с мелочью, даже не заглядывал что вышло но наверное только параметры
я вообще нифига тут не пойму, и нигде нет нормального описания,
все упирается в счетчики на Delphi)
у меня начинается истерика)


 
homm ©   (2007-12-29 22:43) [21]

> [20] niKo   (29.12.07 22:25)
> у меня начинается истерика)

Все нормально, я нашел способ :)

uses ReqMulti;

PS. Долбаная справка дельфи. Ни слова об этом нет.


 
niKo   (2007-12-29 23:02) [22]


> homm ©   (29.12.07 22:43) [21]
>
> Все нормально, я нашел способ :)
>
> uses ReqMulti;
>
> PS. Долбаная справка дельфи. Ни слова об этом нет.

полностью согласен, блин
заработало, спасиба)


 
niKo   (2007-12-29 23:09) [23]


> homm ©   (29.12.07 22:43) [21]

даже не знаю как еще выразить благодарность)
еще раз спасиба


 
Ketmar_   (2007-12-30 09:54) [24]

безумству храбрых, конечно, поём мы громко. только не понятно, нафига это ваять на дельфи, да ёще через webmodule. таки совершенно не ясно. я бы сказал, что это не лучший инструмент для подобных задач.


 
antonn ©   (2007-12-30 14:19) [25]

потому что ЦГИ быстрее обрабатывает бинырные файлы, например, чем ПХП...


 
Ketmar_   (2007-12-30 14:51) [26]

ясно. новый год уже в полный рост начался.

CGI — это протокол. соглашения такие. очень сложно протоколом что-либо обработать.

кстати, php использует именно CGI.


 
antonn ©   (2007-12-30 15:37) [27]

не буквоедствуй.
CGI (от англ. Common Gateway Interface — «общий интерфейс шлюза») — стандарт интерфейса, служащего для связи внешней программы с веб-сервером. Программу, которая работает по такому интерфейсу совместно с веб-сервером, принято называть шлюзом, хотя многие предпочитают названия скрипт (сценарий) или CGI-программа.
http://ru.wikipedia.org/wiki/CGI


 
homm ©   (2007-12-30 16:22) [28]

> [24] Ketmar_   (30.12.07 09:54)
> только не понятно, нафига это ваять на дельфи

Это можно и на чем удобно сваять, но я не уверен, что это — это все, что нужно было автору.


 
Ketmar_   (2007-12-30 17:10) [29]

> antonn ©   (30.12.07 15:37) [27]
> не буквоедствуй.
это вот ты Кэтмару пишешь? да-а-а, давно я здесь не был. %-)

> homm ©   (30.12.07 16:22) [28]
> но я не уверен, что это — это все, что нужно было автору.
дык вот я так завуалированно и спрашивал: «а может, оно не надо? может, вся задача решается более другими методами?»

зыж в моём посте полужирного не было.


 
homm ©   (2007-12-30 17:17) [30]

> [29] Ketmar_   (30.12.07 17:10)
> да-а-а, давно я здесь не был

Да, да, все уже соскучались :)


 
Anatoly Podgoretsky ©   (2007-12-30 17:18) [31]

> homm  (30.12.2007 17:17:30)  [30]

За это время метлы подорожалию


 
Ketmar_   (2007-12-30 17:32) [32]

> homm ©   (30.12.07 17:17) [30]
> Да, да, все уже соскучались :)

ну а шо делать? броффзером неудобно. а клиент у под Linux (почти дописаный) сыграл в ящик… %-(

> Anatoly Podgoretsky ©   (30.12.07 17:18) [31]
> За это время метлы подорожали

зато клиентов, смотрю, не убавилось…


 
Германн ©   (2007-12-30 17:38) [33]


> зато клиентов, смотрю, не убавилось…
>

Плодятся как тараканы.


 
Ketmar_   (2007-12-30 18:00) [34]

> Плодятся как тараканы.
дихлофосом, дихлофосом…


 
Anatoly Podgoretsky ©   (2007-12-30 19:44) [35]

> Германн  (30.12.2007 17:38:33)  [33]

Не тараканы не такие плодовитые.


 
Anatoly Podgoretsky ©   (2007-12-30 19:44) [36]

> Ketmar_  (30.12.2007 18:00:34)  [34]

и метлой


 
Ketmar_   (2007-12-30 20:57) [37]

> и метлой
ну да. после дихлофоса надо трупики вымести.


 
homm ©   (2007-12-30 21:32) [38]

> [37] Ketmar_   (30.12.07 20:57)

Я смотрю уже начался предметный разговор :)


 
Ketmar_   (2007-12-30 23:29) [39]

> Я смотрю уже начался предметный разговор :)
стараемся…



Страницы: 1 вся ветка

Текущий архив: 2008.02.03;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.027 c
15-1198825503
Ega23
2007-12-28 10:05
2008.02.03
Есть у кого такой компонентик TXLSFile?


15-1198830321
fevadmin
2007-12-28 11:25
2008.02.03
Помогите в выборе оборудования


15-1198605191
Maxim, P.
2007-12-25 20:53
2008.02.03
&amp; и ~ в cpp


2-1199798648
AntonUSAnoV
2008-01-08 16:24
2008.02.03
Помогите!


2-1199963797
Smaller
2008-01-10 14:16
2008.02.03
Где отключается backup?