parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

как правильно передать в ^file::cgi данные получаемые POST ?

viyer 20.03.2005 13:37

Есть файл manager.html который по сути является оберткой соответствующего cgi, написанного на Perl/
^switch[$form:action]{
	^case[DEFAULT]{
		$cgi_file[^file::cgi[/cgi-bin/file.cgi]]
		$cgi_file.text
	}
	^case[makedir]{
		$cgi_file[^file::cgi[/cgi-bin/file.cgi;$.QUERY_STRING[action=^taint[makedir]&wd=^taint[$form:wd]&dir=^taint[$form:dir]]$.stdin[$request:body]]]
		$cgi_file.text
	}
	^case[upload]{
		$cgi_file[^file::cgi[/cgi-bin/file.cgi;$.QUERY_STRING[action=^taint[upload]&wd=^taint[$form:wd]]$.stdin[$request:body]]]
		$cgi_file.text
	}
}
Случаи DEFAULT и makedir работают замечательно, а вот upload нет. Не выдает никаких ошибок, но данные для до file.cgi не доходят.
upload - это закачка файлов на сервер с помощью такой формы, выдаваемой скриптом file.cgi:
<form method=post action="$cfg{'s_url'}" NAME="Upload" ENCTYPE="multipart/form-data">
<input type=hidden name="wd" value="$wd">
<input type=hidden name="action" value="upload">
<B>Загрузка файла:</B><br>
<INPUT NAME="data" TYPE="file" onBlur="serverFileName()"><br>
<b>Переименовать в:<b><br>
<INPUT NAME="fn" onFocus="select()" onBlur="validateFileEntry(this.value, this)">
<input type="submit" class="btn" value="Загрузить">
</form>
Если работать напрямую с file.cgi, то все работает, поэтому в его работоспособности не приходится сомневаться.

Причина по всей видимости, в том, что при action=upload на file.cgi не передается принятые данные POST.

Почему?

Пожалуйста, к докам не отсылайте, читано. К тому же в доках здесь http://www.parser.ru/docs/lang/filecgiexec.htm наблюдается какой то пробел.