
08.09.2007, 17:24
|
|
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
С нами:
10088966
Репутация:
646
|
|
CGI на Delphi. Проблема с file upload
Пишу скрипт для загрузки файлов на сервер:
Код:
program upload;
{$APPTYPE CONSOLE}
{$E cgi}
uses
windows;
var
ch: char;
s: string;
buffer: PChar;
contlength, ecode, i: integer;
procedure putfile(filename: string);
var
f: textfile;
begin
assignfile(f, filename);
reset(f);
while not (eof(f)) do
begin
readln(f,s);
writeln(s);
end;
closefile(f);
end;
begin
putfile('headers.txt');
writeln;
getmem(buffer, 256);
if GetEnvironmentVariable('CONTENT_LENGTH',buffer,256) > 0 then
begin
val(buffer,contlength,ecode);
s := '';
for i := 1 to contlength do
begin
read(ch);
s := s + ch;
end;
writeln(s);
exit;
end
else
begin
putfile('top.txt');
putfile('form.txt');
putfile('bottom.txt');
end;
freemem(buffer);
end.
headers.txt :
Content-Type: text/html
top.txt :
<html>
<head>
<title>File Upload</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
form.txt :
<style>
.tb td {padding: 5px}
</style>
<form method="post" encrypte="multipart/form-data">
<input type="hidden" name="checked" value="yes">
<table class="tb">
<tr><td><input type="file" name="filename"></td></tr>
<tr><td><input type="submit" value="Ok"></td></tr>
</table>
</form>
bottom.txt :
</body>
</html>
В итоге скрипт показывает строку POST параметров, а само содержимое файла нет. + CONTENT_LENGTH показывает размер POST данных, не учитывая размер файла. Что не так?
|
|
|