Главная страница
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.47 MB
Время: 0.024 c
14-1124304243
Piter
2005-08-17 22:44
2005.09.11
Помогите плиз с C


2-1123532726
Александр1
2005-08-09 00:25
2005.09.11
ввод недопустимых символов


1-1124432789
zorik
2005-08-19 10:26
2005.09.11
Преобразовать строки в код Delphi


14-1124102465
Е-клмн
2005-08-15 14:41
2005.09.11
Господа! Сколько часов в день вы спите? А сколько работаете?


1-1124462191
murz
2005-08-19 18:36
2005.09.11
Сжатие приложений