Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2007, 10:32   #1
SeregaP
 
Регистрация: 28.03.2007
Сообщений: 8
Восклицание Передача файлов на WEB-сервер

Помогите пожалуйста кто может.
Нужно написать cgi-скрипт который будет принимать файл из браузера клиента выбранный в форме и сохранять его на диске web-сервера. Если можно то с примером.
За ранее спасибо!
SeregaP вне форума Ответить с цитированием
Старый 28.03.2007, 10:37   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

CGI скрипт на чем ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 28.03.2007, 10:41   #3
SeregaP
 
Регистрация: 28.03.2007
Сообщений: 8
По умолчанию

На Delphi 7.0
SeregaP вне форума Ответить с цитированием
Старый 28.03.2007, 10:46   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Я не зря спросил.
Asp?
Pascal Script?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 28.03.2007, 11:41   #5
SeregaP
 
Регистрация: 28.03.2007
Сообщений: 8
По умолчанию

Обычное консольное приложение Delphi 70, которое работает на стороне сервера, как cgi-программа.
SeregaP вне форума Ответить с цитированием
Старый 28.03.2007, 11:51   #6
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Delphi(Object Pascal) не является языком сценариев.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 28.03.2007, 12:12   #7
SeregaP
 
Регистрация: 28.03.2007
Сообщений: 8
Печаль

Я знаю это(я пишу не сценарий а cgi-приложение для win32-сервера). У меня не плохо получалось пока не столкнулся с проблеммой приема файлов от клиента
SeregaP вне форума Ответить с цитированием
Старый 28.03.2007, 12:15   #8
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

SeregaP, т.е. клиент может закачивать файл, а сервер никак. ?! - очень странно. есть наработки, выкладывайте в тему.
Alar вне форума Ответить с цитированием
Старый 28.03.2007, 12:23   #9
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

1. Все же вас поправлю:
CGI-приложение под Win32 писать невозможно.
2. какими компонентами пользуетесь ? приведите код, который не работает.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 28.03.2007, 12:33   #10
SeregaP
 
Регистрация: 28.03.2007
Сообщений: 8
По умолчанию

Сама программа:
program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
ServerName, GatewayInterface, ServerPort, QueryString, RemoteIdent,
HttpRefer, HttpConnection, HttpHost, HttpAcceptEncoding, HttpFrom,
ContenType, ContentLength, PathInfo, RequestMethod, ScriptName: string;

ii, k, i: integer;
AllContent, s: string;
f: text;
begin
{ TODO -oUser -cConsole Main : Insert code here }

ServerName:=GetEnvironmentVariable( 'Server_Name');
RequestMethod:=GetEnvironmentVariab le('Request_Method');
PathInfo:=GetEnvironmentVariable('P ath_Info');
ScriptName:=GetEnvironmentVariable( 'Script_Name');
GatewayInterface:=GetEnvironmentVar iable('Gateway_Interface');
ServerPort:=GetEnvironmentVariable( 'Server_Port');
QueryString:=GetEnvironmentVariable ('Query_String');
RemoteIdent:=GetEnvironmentVariable ('Remote_Ident');
HttpRefer:=GetEnvironmentVariable(' Http_Refer');
HttpConnection:=GetEnvironmentVaria ble('Http_Connection');
HttpHost:=GetEnvironmentVariable('H ttp_Host');
HttpAcceptEncoding:=GetEnvironmentV ariable('Http_Accept_Encoding');
HttpFrom:=GetEnvironmentVariable('H ttp_From');
ContenType:=GetEnvironmentVariable( 'Conten_Type');
ContentLength:=GetEnvironmentVariab le('Content_Length');

if ContentLength<>'' then begin
k:=0;
ii:=StrToInt(ContentLength);
AssignFile(f,'Temp.txt');
Rewrite(f);
while k<ii do begin
readln(s);
Writeln(f,s);
k:=k+Length(s)+2
end;
CloseFile(f);

end;

writeln('Content type: text/html');
writeln;
writeln('<html>');
writeln('<head>');
writeln(' <meta http-equiv="content-type" content="text/html; charset=windows-1251">');
writeln('</head>');
writeln('<body>');
writeln('Спасибо за обращение ваши данные будут опубликованы на нашем сайте');
writeln('<br>',ii,'<br>',k);
writeln('</body>');
writeln('</html>');

end.


HTML-страница:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<form method=POST action="http://mysite/cgi-bin/Project2.exe" enctype="multipart/form-data">
File2 Test:<input type=file name="myfile1"><br>
<input type=submit value='Send'>
<input type=reset value='Reset'>
</form>
</body>
</html>


Код работает, но как сохранить отправленный файл в исходном виде на web-сервере?

Последний раз редактировалось SeregaP; 28.03.2007 в 12:40.
SeregaP вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача файла на сервер eldar Работа с сетью в Delphi 4 03.09.2008 22:09
Need Help! Передача файлов (Сервер-Клиент) Elandar Работа с сетью в Delphi 1 25.07.2008 00:22
Передача данных на сервер с помощью Delphi Арес Работа с сетью в Delphi 7 10.03.2008 13:29
Передача файлов по интернету. Клиент-сервер. Kukkk Работа с сетью в Delphi 4 03.12.2007 06:08
Передача файлов wolff Работа с сетью в Delphi 3 03.03.2007 15:54