ファイルのアップロードは、まず "Browse..."ボタンを押して、ファ イルを選択します。それが完了してから、実行ボタンを押してください。
Netscape 2.0 では、ゼロックス社の Larry Masinter氏、 Ernesto Nebel氏によって 提案された方法(RFC1867)を採用しており、 <FORM>タグの ENCTYPE属性を使用して次のように指 定します。
<FORM ENCTYPE="multipart/form-data" ACTION="URL" METHOD=POST> 送出ファイル: <INPUT NAME="userfile" TYPE="file"> <INPUT TYPE="submit" VALUE="ファイル送出"> </FORM>ACTION部に mailtoスキームが利用できますので、簡単な例 として次のよう例が考えられます。ユーザが選択したファイルを "taro@foo.co.jp"にメールで送る事ができます。

<FORM ENCTYPE="multipart/form-data" ACTION="mailto:taro@foo.co.jp" METHOD=POST> Sending file: <INPUT TYPE="file" NAME="myfile"><P> <INPUT TYPE="submit" VALUE="メール"> </FORM>
ファイルをアップルードする際には、サーバ側でちょっとした仕掛けが必要で す。ファイルはACTION部で記述されたCGIスクリプトへの標準入力と して渡されますから、以下のようなスクリプトを実行します。
#!/usr/bin/perl
$|=1;
print "Content-type: text/html\n\n";
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
} elsif ($ENV{'REQUEST_METHOD'} eq "GET") {
$buffer=$ENV{'QUERY_STRING'};
}
$buffer =~ /^(.+)\r\n/;
print <<EOF;
<HTML>
<HEAD><TITLE>Thank you very much</TITLE></HTML>
<BODY>
<h2>Thank you very much</h2>
</BODY>
</HTML>
EOF
open(UPLD, "> /directory/file");
print UPLD $buffer;
close(UPLD);
画面
<FORM ENCTYPE="multipart/form-data" ACTION="/cgi-bin/fileupload" METHOD=POST> Sending file: <INPUT TYPE="file" NAME="myfile"><p> <INPUT TYPE="submit" VALUE="転送"><P> </FORM>
まだ、MIME 化されたままのファイルですが、これを綺麗に整形すれば、 望みの結果が得られると思います。
また、MIME TYPE は複数のファイルを一度に転送できるようになっているので、 INPUTタグを複数設定すれば、複数のファイルを一度に MIME エンコードして、 アップロードできます。
<FORM ENCTYPE="multipart/form-data" ACTION="/cgi-bin/fileupload" METHOD=POST> Sending file 1: <INPUT TYPE="file" NAME="myfile1"><p> Sending file 2: <INPUT TYPE="file" NAME="myfile2"><p> <INPUT TYPE="submit" VALUE="転送"><P> </FORM>
SIMON Tneoh Chee-Boon の作った
ファイルアップロードスクリプトです。