Сервер Web своими руками. Язык HTML, приложения CGI и ISAPI




Приложение FILEUPL - часть 3


Кроме того, в параметре ENCTYPE оператора <FORM> предлагается при передаче файлов указывать тип данных multipart/form-data, что отличается от привычного формата application/x-www-form-urlencoded.

Формат данных multipart/form-data позволяет передавать данные типа MIME и, в частности, произвольные двоичные данные, которыми в общем случае являются все файлы. Что же касается формата application/x-www-form-urlencoded, используемого по умолчанию, то он пригоден только для передачи текстовых данных.

Документы RFC носят рекомендательный характер, поэтому разработчики программного обеспечения вправе принимать их или игнорировать. В частности, спецификация удаленного приема файлов RFC1867 используется навигатором Netscape Navigator версии 2.0 и более поздней версии, но полностью игнорируется навигатором Microsoft Explorer любой версии вплоть до 3.01. Именно этим объясняется требование на сервере АО “ДиалогНаука” выполнять удаленную антивирусную проверку навигатором Netscape Navigator.

Теперь мы можем перейти к описанию расширения ISAPI fileupl.dll, выполняющего удаленный прием файлов.

Исходный текст документа HTML, содержащий форму для приема файлов и органы управления для ввода другой информации, показан в листинге 8.7.

Листинг 8.7. Файл chap8\fileupl\fileupl.htm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">

<HTML>

<HEAD>

 <TITLE>File Upload via HTTP</TITLE>

</HEAD>

<BODY BGCOLOR=#FFFFFF>

<FORM ENCTYPE="multipart/form-data" METHOD=POST ACTION="http://frolov/scripts/fileupl.dll">

  <TABLE>

    <TR>

      <TD VALIGN=TOP>Text field TEXT</TD>

      <TD><INPUT TYPE=text NAME="text1" VALUE="Sample of text1" SIZE=30></TD>

    </TR>

    <TR>

      <TD VALIGN=TOP>Text field PASSWORD</TD>

      <TD><INPUT TYPE=password NAME="pwd" VALUE="Sample of password"></TD>




Содержание  Назад  Вперед