建立文件上载按钮
假设你想建立一个让人们做卖房广告的网点,如果人们能上载他们房子的照片,那将是非常有用的;或者你想建立一个收纳短故事的网点,那也要让人们能上载他们的故事――例如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能识别文件上载按钮。在文件上载按钮被更多的浏览器软件支持前,要小心地使用它们。