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

Вниз

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

 
Алексей_К   (2005-05-24 06:56) [0]

Необходимо передать файл на сервер, принимает файл CGI-скрипт.

Попробывал следующее решение: В TWebRequest есть свойство Files,  когда обращаюсь к этому свойству, возникают ошибки типа "Access violation at address ...".
В хелпе написано "The TAbstractRequestFiles object contains uploaded files extracted from the HTTP request.", но как этим правильно пользоваться?

Код:
...
 const
   c="http://127.0.0.1/cgi-bin/up.exe";
...
procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
 Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var page:TSTringlist;
   f:TFileStream;    
begin
page:=TSTringlist.Create;
page.Add("<html>");
if Request.MethodType=mtGET then
       begin
       page.Add("<head><title>Form upload.</title></head><body>");
       page.Add("<form action=""+c+"" method="POST">");
       page.Add("<input type="file" name="fn" value="files">");
       page.Add("<input type="submit" name="go" value="upload...">");
       page.Add("</form>");
       end;
if request.MethodType=mtPOST then
       begin
       f:=TFileStream.Create("file",fmCreate);
       f.CopyFrom(Request.Files.Items[0].Stream,Request.Files.Items[0].Stream.Size);
       f.Free;
       page.Add("<head><title>Form 2.</title></head><body>");
       page.Add("Files count: "+inttostr(Request.Files.Count));
       page.Add("
<a href=""+c+"">back</a>");
       page.Add("
Content:
<hr>"+request.Content+"<hr>");
       end;
page.Add("</body></html>");
Response.Content:=page.Text;
page.Free;
end;

Подскажите плиз, что делать...


 
Алексей_К   (2005-05-26 06:08) [1]

Оказываеться для передачи файлов необходимо в теге <Form> указать следующее:

<form method="POST" action="..." ENCTYPE="multipart/form-data">

Файл отправляеться, есть одно "но". Файлы имеющие размер более 73536 байт усекаются, т.е. 1 меговый файл весь не скачаеться на сервер, а только первые его 73536 байта.

Может у кого-нибудь есть инфа по этой части?



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

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

Наверх




Память: 0.45 MB
Время: 0.011 c
4-1122004287
Jet
2005-07-22 07:51
2005.09.11
Печать на принтер Olivetti PR2 из Дельфи


9-1115753319
Da Stranger
2005-05-10 23:28
2005.09.11
Система предотвращения столкновений


1-1124273278
maximm
2005-08-17 14:07
2005.09.11
кодировка dos


3-1122700983
cam
2005-07-30 09:23
2005.09.11
adostorecprod


1-1124393333
Yegorchic
2005-08-18 23:28
2005.09.11
Доступно ли новое имя для компоненты?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский