楼上saucer(思归, MS .NET MVP)说的对,基于B/S结构这是不可能的,如果不用Socket、Ftp,只要求使用Http协议,只能用楼上saucer的办法,如果可以在客户端安装组件的话,就可以轻松实现不用Socket、Ftp(有防火墙时有问题)支持,只用Http协议,通过XMLHttp等用代码实现文件上传,加上一些压缩、解压缩,加密解密的内容,多目录上传也不是难题。做了一个组件,基本上把常用的客户端到服务器目录、数据库;服务端目录到数据库,数据库到目录,一次性创建删除多级目录,直接写文件到页面、强迫下载(html文件,txt文件也一样)、通过XMl不需要服务器Socket和Ftp服务支持上传文件、压缩解压缩顺带加密等功能都做到了,应该是目前功能最强大的上传组件,只是由于公司有规定,不能公开,我只是说这是能做的,抱歉。
not possible with the browser's built-in HTTP Upload, use an ActiveX Control or components like XMLHTTP+ADODB.Stream+FSO if the ActiveX security settings are low enough on the client machines