Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.027 c
3-1122729432
r2d2
2005-07-30 17:17
2005.09.11
как обнулить автоикрементное поле в таблице Paradox?


14-1124171482
Jamik
2005-08-16 09:51
2005.09.11
Аналитика по торговлю


1-1124693266
DVM
2005-08-22 10:47
2005.09.11
Помогите с разбором HTTP ответа сервера (IP-камеры).


3-1122986242
surkis
2005-08-02 16:37
2005.09.11
Погогите с запросом


14-1124178243
Е-клмн
2005-08-16 11:44
2005.09.11
Чай или Кофе?




   Наверх