如何用他们上传文件?

解决方案 »

  1.   


     用Internet Transfer编写FTP程序 
     
      常上网的人都对FTP熟悉得不能再熟悉了,它是文件传输协议的英文缩写,所谓文件传输协议就是人们规定的在网络间传输文件的一组规定,里面规定了数据包的格式、数据包头部结构、命令结构等等。其实要想实现FTP的功能并不是很难,下面我们就来介绍一下如何作一个简单的Windows界面的FTP程序。   其实我们常用的VC和VB等开发工具就可以轻松搞定,下面我们就来说说在VB中使用Microsoft Internet Transfer控件实现FTP的功能。   Internet Transfer控件,支持HTTP(超文本传输协议)和FTP(文件传输协议),超文本传输协议就是我们的浏览器传输网页时使用的协议,也就是说你也可以用它作一个浏览器。我们这里主要讨论文件传输协议FTP。   首先创建一个新工程,在你的工具箱上添加Microsoft Internet Transfer控件,并放到你的主窗体上,注意看它的属性:   Protocol指所用的协议,我们这里选2-icFTP,就是FTP协议。   UserName和Password是这样的:UserName和Password都给null或“"时,发送到FTP Server的UserName是“anonymous",Password是用户的Email,当UserName给null或“",而Password为非空字符串时是错误的,其他情况正常。   RemoteHost写FTP Server(就是你要连到的那台主机,你可以在程序中动态地给这个属性赋值,以适应连接到不同的主机上)的域名地   址或IP,RemotePort在你指定FTP协议时自动被设置成21,URL属性由RemoteHost、RemotePort、Protocol等几个属性内容组合而成,如果前面已经给出这些值,VB会自动生成URL,以上这些属性均可以在程序中动态赋值,使你可以更灵活地运用这个控件。   下面说说这个控件的方法(Method):   1、OpenURL,调用该方法会连通FTP Server属性中指定的主机,并返回它的Welcom Message,一般是一些欢迎词和当前有多少用户登录等信息。   2、Execute方法用于执行对远程服务器的请求,它能发送对特定协议有效的请求,对于FTP协议来说,有效的操作有:   CD file1   改变目录。改变到file1中指定的目录。   CDUP   改变到父目录。等效于“CD...”   CLOSE   关闭当前的FTP连接。   DELETE file1   删除file1中指定的文件。   DIR,LS file1   搜索file1中指定的目录(允许用通配符,但要使用远程主机的语法)。如果没有指定file1,将返回当前的整个工作目录。使用GetChunk方法返回目录数据。   GET,RECV file1 file2   检索file1中指定的远程文件,并创建file2中指定的新本地文件。   MKDIR file1   创建目录。创建file1中指定的目录。创建是否成功取决于用户在远程主机上的权限。   PUT,SEND file1 file2   复制file1指定的本地文件到file2指定的远程主机上。   PWD   打印工作目录。返回当前目录名。使用GetChunk方法返回数据。   QUIT   终止当前用户。   RENAME file1 file2   将file1中命名的远程文件重命名为file2中指定的新名称。成功与否取决于用户在远程主机上的权限。   RMDIR file1   删除目录。删除file1中指定的远程目录。成功与否取决于用户在远程主机上的权限。   SIZE file1   返回file1指定的目录的大小。   举个例子:   Inet1.Execute“",“dir"   debug.print Inet1.GetChunk这一句将打印出上一句dir的结果。   Inet1.Execute“",“Get file1 C:\File1"这个命令会把对方c:\File1的文件取到本机当前目录下(这里假设对方是windows base的机器,并且有c:\File1的文件)。   下面说说该控件唯一的事件StateChanged。   当这个FTP连接中状态发生了改变,如登录成功、命令接收成功、断线等等都会引发该事件。该事件的处理函数有一个参数state,表明当前连接状态,它的值定义如下:   值标识符意义   0 icNone无状态可报告。   1 icHostResolvingHost该控件正在查询所指定的主机的IP地址。   2 icHostResolved该控件已成功地找到所指定的主机的IP地址。   3 icConnecting该控件正在与主机连接。   4 icConnected该控件已与主机连接成功。   5 icRequesting该控件正在向主机发送请求。   6 icRequestSent该控件发送请求已成功。   7 icReceivingResponse该控件正在接收主机的响应。   8 icResponseReceived该控件已成功地接收到主机的响应。   9 icDisconnecting该控件正在解除与主机的连接。   10 icDisconnected该控件已成功地与主机解除了连接。   11 icError与主机通讯时出现了错误。   12 icResponseCompleted该请求已经完成,并且所有数据均已接收到。   用Select case语句处理各个状态就行了。   怎么样,是不是很简单呀,一个简单的FTP你只须建立连接,从用户读取命令,用Execute方法将命令传送到对方主机就可以了,剩下的活都有Inet控件帮你搞定,但是要作得好用,还要处理各种网络错误,用递归处理子目录上载或下载,为用户建立FTP服务器的地址簿等,这里不做更深一步讨论。
     
     
     
     
      

  2.   

    这个资料我有
    我是想用http 协议做?如何实现呢?