怎样利用Inet控件下载FTP服务器上面的文件??(急,送分!!)
本人想编写一个程序,下载某一个FTP服务器上面的文件到本地的计算机当中
可是由于本人对VB不熟,不知道能不能利用vb中的控件inet进行操作?
如果可以,它的格式是什么样的呢?
是不是 Inet1.Execute ftpIP, "get ",FTPFile, LocalFile ??
问题点数:100、回复次数:12Top
1 楼liuzhanwen(研究一下!)回复于 2002-05-11 17:19:04 得分 0
http://www.jinesc.com/myweb/main.asp?room=1030&page=1
希望对你有帮助的
Top
2 楼liuzhanwen(研究一下!)回复于 2002-05-11 17:20:22 得分 0
Private Sub Command1_Click()
Dim i As Integer
For i = Text2 To Text3
Text1 = Text4 & Format(i, "0000") & Text6
Text1.Refresh
Download Text4 & Format(i, "0000") & Text6, Text5 & Format(i, "0000") & Text7
Next
End Sub
Private Sub Download(UrtFile As String, LocalFile As String)
Dim bData() As Byte '数据变量
Dim intFile As Integer '可用文件变量
Dim i As Integer
Dim ttt As String
intFile = FreeFile() '将 intFile 设置为未使用的文件
' OpenURL 方法的结果首先传入 Byte 数组,
'然后将 Byte 数组保存到磁盘。
On Error Resume Next
Kill LocalFile
On Error GoTo 0
bData() = Inet1.OpenURL(UrtFile, icByteArray)
Open LocalFile For Binary Access Write As #intFile
Put #intFile, , bData()
Close #intFile
Exit Sub
err1:
MsgBox "error!"
Resume
End SubTop
3 楼liuzhanwen(研究一下!)回复于 2002-05-11 17:21:17 得分 0
2. INET 控件
Internet Transfer控件提供了Internet 上最常使用的两种协议 :HTTP 和FTP。使用HTTP 协议可以连接到WWW服务器上来下载文件;使 用FTP协议则可以登录到FTP 服务器。一般的FTP命令,例如CD、GET 都可以通过Execute 方法实现。
下面是一个设置INET控件属性的例子。
inet1.URL=ftp://username:password@hostname/document
inet1.Protocol=2-icFTP
inet1.RemoteHost=hostname
inet1.RemotePort=21
inet1.Username=username
inet1. Password=password
执行文件传输:
Inet1.Execute "ftp://username:password@hostname", _
"PUT" &local_filename & " UPLOAD1.TXT"
right1 = Inet1.StillExecuting
Do While right1
right1 = Inet1.StillExecuting
DoEvents
Loop
这样便实现了文件的上载。
Top
4 楼hzwcs(zw)回复于 2002-05-11 17:27:09 得分 0
谢谢liuzhanwen
文件的下载是不是将put该为get就可以了
Top
5 楼hzwcs(zw)回复于 2002-05-11 17:37:24 得分 0
hostname是不是就是FTP服务器的IP地址?
right1是不是一个逻辑变量?
Top
6 楼hzwcs(zw)回复于 2002-05-11 17:46:43 得分 0
好象还是有点问题啊
Inet1.Execute strUrl, "get" & winzip80.exe & sLFile
不能通过,其中strUrl——10.10.10.152(一个可以连接得上的IP地址)
winzip80.exe——根目录下面的一个文件
sLFile——值为d:\download\
Top
7 楼liuzhanwen(研究一下!)回复于 2002-05-11 17:51:57 得分 0
具体的难说了Top
8 楼liuzhanwen(研究一下!)回复于 2002-05-11 17:52:58 得分 0
Private Sub Download(UrtFile As String, LocalFile As String)
<br />
Dim bData() As Byte '数据变量
<br />
Dim intFile As Integer '可用文件变量
<br />
Dim i As Integer
<br />
Dim ttt As String
<br />
intFile = FreeFile() '将 intFile 设置为未使用的文件
<br />
' OpenURL 方法的结果首先传入 Byte 数组,
<br />
'然后将 Byte 数组保存到磁盘。
<br />
On Error Resume Next
<br />
Kill LocalFile
<br />
On Error GoTo 0
<br />
bData() = Inet1.OpenURL(UrtFile, icByteArray)
<br />
Open LocalFile For Binary Access Write As #intFile
<br />
Put #intFile, , bData()
<br />
Close #intFile
<br />
Exit Sub
<br />
err1:
<br />
MsgBox "error!"
<br />
Resume
<br />
End Sub
<br />
Top
9 楼liuzhanwen(研究一下!)回复于 2002-05-11 17:53:35 得分 0
Private Sub Command1_Click()
<br />
Dim b() As Byte
<br />
Inet1.Cancel
<br />
<br />
Inet1.Protocol = icHTTP
<br />
<br />
Inet1.URL = Text1.Text '你想下东东的url
<br />
<br />
b() = Inet1.OpenURL(, icByteArray)
<br />
'建立一个暂存文件來存放取回來的 东东
<br />
Open Text2.Text For Binary Access Write As #1
<br />
Put #1, , b()
<br />
Close #1
<br />
End Sub
Top
10 楼Dickson(沧海冷心)回复于 2002-05-11 18:22:47 得分 0
www.vb365.com
上有!
绝对有,去吧!Top
11 楼hzwcs(zw)回复于 2002-05-11 21:16:14 得分 0
不知道下载文件的时候能不能将正个目录拷贝下来??如果能的话,就比较方便了。Top
12 楼ameng_2002(flyfox)回复于 2002-06-03 09:17:05 得分 100
可以利用API函数,先利用internetConnect连接上FTP服务器,用FtpSetCurrentDirectory设定当前目录,然后利用FtpFindFirstFile和FtpFindNextFile查找出当前目录下面的所有文件名。找到一个文件的路径和它对应的文件名,就可以对它进行拷贝了。Top




