7.文件上传控件
<Input type="upload" ...>即为文件上传控件,该控件能让用户选择本地文件并上传到服务器。
文件上传有Ftp、Http二种可选途经,以下将简述二者实现原理:
1.通过Ftp上传
通过Ftp上传是最简单的实现方式,程序员不必开发服务端程序,只要部署Ftp服务器就行。在客户端的页面中,只要调用方法FtpUpload( )就能轻松完成。
2.通过Http上传
通过Http上传有三种方法:
2.1.通过Http Put直接上传
和Ftp类似,程序员也不必开发服务端程序,只要开放目标目录的写入权限即可,通过函数httpUpload()上传。
备注: 应该指定有写入权限的帐号和密码,因为权限完全开放的虚拟目录是十分不安全的。
2.2.通过Http Post发送请求
Upload控件将本地文件通过POST方式Request给服务器,服务器端需要程序员开发服务响应程序。
备注: Http Header中的Content-Type是application/octet-stream,Http Body是文件的二进制内容。
2.3.间接上传
所谓间接上传,即Upload控件只是取得文件的Base64大串,并返回给页面,由页面来处理如何发送。如果文件比较小,可以简单地以GET方式发送Base64串。

用户反馈调查结果:Http Post 方式被使用最多.