建立文件上载按钮

假设你想建立一个让人们做卖房广告的网点，如果人们能上载他们房子的照片，那将是非常有用的；或者你想建立一个收纳短故事的网点，那也要让人们能上载他们的故事――例如Microsoft Word格式的文件。

理论上，你可以使用<INPUT>标识符的TYPE＝FILE属性来实现这一点，使用这个属性，你可以在窗体上建立一个文件上载按钮（见图6.11）。当你网点的用户点击这个按钮时，他们可以选择一个本地硬盘上的文件进行上载。下面的例子显示了怎样去做：

<HTML>

<HEAD>

<TITLE> File Upload </TITLE>

</HEAD>

<BODY >

<FORM ENCTYPE＝“multipart/form-data”

ACTION=“somedirectory/mypage.asp” METHOD=“POST”>

Please choose a picture to upload:

<BR> <INPUT NAME=“picture” TYPE=FILE ACCEPT=“image/*”>

<BR> <INPUT TYPE=SUBMIT VALUE=“Submit Me!”>

</FORM>

</BODY>

</HTML>

当这个HTML文件在Netscape Navigator（版本3.0或更高）上显示时，一个普通的文本框显示在一个Browse按钮旁，用户可以直接在文本框中输入文件的名字，或使用Browse按钮来在文件对话框中选择一个文件。当这个窗体被提交后，用户选择的文件也被提交了。

注意这个例子中<FORM>标识符的ENCTYPE属性，它指定了提交时窗体信息的编码方式。通常窗体信息是URL编码的（空格被＋号代替），然而这种编码方法对于非文本的信息是很差的，要想高效地传送一个图象文件，你应当使用ENCTYPE＝“multipart/form-data”。

图6.11 文件上载按钮

实际的文件上载按钮用下述标识符创建：

<INPUT NAME=“picture” TYPE=FILE ACCEPT=“image/*”>

由于TYPE属性的值是FILE，浏览器就会建立一个文件上载按钮。ACCEPT属性限制了在文件对话框中出现的文件的类型。在此例中，文件类型被限制为图象文件，你可以指定MIME类型中的任意一个或几个作为ACCEPT属性的值。

注意

MIME用于多用途Internet mail扩展。MIME最初被用来作为指定e_mail附属文件类型的的方法，浏览器使用MIME类型来与特定文件相关联。

一些MIME类型的例子是用于GIF图象的image/gif，用于JPEG图象的image/jpeg，用于Microsoft Excel表格的application/x-msexcel，用于Microsoft Word文档的application/msword。

要查看你的计算机支持的MIME类型，可以使用Windows Explorer中的View/Options/File Types命令。

文件上载按钮是非常有用的，然而令人遗憾的是，现在的浏览器软件只支持一部分文件上载按钮，或干脆就不支持。虽然文件上载按钮是HTML 3.2规范的一部分，但这种情况也是存在的。

例如，Netscape Navigator（版本3.0和4.0）忽略ACCEPT属性，Internet Explorer 3.0更糟糕，它完全拒绝解释文件上载按钮，并用一般的文本框代替，而Internet Explorer 4.0能识别文件上载按钮。在文件上载按钮被更多的浏览器软件支持前，要小心地使用它们。