【重要求救】代码如下:ftp下载问题

cjr7365 2011-11-09 08:20:28
问题所在:1.下了同一个文件后,本地文件如被删除,不再下载服务器的东西
2.服务器更新同文件名的文件,再次下载后不是最新的数据,还是旧数据奇怪,服务器都已经变成最新的,客户端是从哪儿下的旧数据呢,代码如下,请各位帮忙,谢谢!
'FTP2下载文件

Public Function DownLoadFile2(sIp As String, sRemoteFileName As String, sLocalFileName As String, sUserName As String, sPassword As String)

Dim ret As Boolean

Dim hOpen As Long

Dim hConnection As Long

dwType = FTP_TRANSFER_TYPE_ASCII

hOpen = InternetOpen(vbNullString, INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)

If hOpen <> 0 Then

hConnection = InternetConnect(hOpen, sIp, 0, sUserName, sPassword, 1, INTERNET_FLAG_PASSIVE, 0)

If hConnection <> 0 Then '连接正常


ret = FtpGetFile(hConnection, sRemoteFileName, sLocalFileName, 0, 0, 1, 0)
DownLoadFile = False

End If

InternetCloseHandle hConnection

InternetCloseHandle hOpen

End Function
...全文
76 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
网络菜鸟00 2011-11-30
  • 打赏
  • 举报
回复
分全散光了?俺得0分。
cjr7365 2011-11-27
  • 打赏
  • 举报
回复
scUserAgent是什么东西,你是怎么定义的,这个地方没有看明白
cjr7365 2011-11-27
  • 打赏
  • 举报
回复
好像不行啊,跪求
cjr7365 2011-11-27
  • 打赏
  • 举报
回复
你那个好像不太全啊,代码,原因出在哪儿呢,请楼上明示
网络菜鸟00 2011-11-26
  • 打赏
  • 举报
回复
                                                                    
Function FtpConnect() As Boolean '连接FTP
Dim hOpen As Long
If Err.Number <> 0 Then Err.Clear
If hConnection = 0 Then
hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)
hConnection = InternetConnect(hOpen, "**.**.**.**", _
INTERNET_INVALID_PORT_NUMBER, "***", "***", _
INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0)
FtpConnect = CBool(hConnection)
Debug.Print "FtpConnect=" & FtpConnect
' Debug.Print hConnection
End If
End Function

Public Function DownloadFile(ByVal LocalFile As String, ByVal RemoteFile As String) As Boolean '下载指定文件
If FtpConnect Then '如果连接成功
DownloadFile = FtpGetFile(hConnection, "服务器路径及文件名", "本地路径及文件名", 0, 0, 0, 0)
Else
DownloadFile = False
End If
InternetCloseHandle hConnection
DisConnect
End Function

Function DisConnect() As Boolean '关闭连接
DisConnect = True
If hConnection <> 0 Then
hConnection = 0
DisConnect = CBool(InternetCloseHandle(hConnection))
End If
End Function

上述代码我使用正常,楼主试试看。
cjr7365 2011-11-25
  • 打赏
  • 举报
回复
是服务器缓存,还是本地机器缓存
cjr7365 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 hpygzhx520 的回复:]

是否有可能是缓存的原因呢?
[/Quote]
如何清理缓存呢?
cjr7365 2011-11-22
  • 打赏
  • 举报
回复
谁帮我回复一下,我节分都再这里了
hpygzhx520 2011-11-22
  • 打赏
  • 举报
回复
是否有可能是缓存的原因呢?
网络菜鸟00 2011-11-22
  • 打赏
  • 举报
回复
站内信联系,在这里说不清楚啊。
cjr7365 2011-11-22
  • 打赏
  • 举报
回复
求人帮我回复一下,我结不了帖子,没有分发帖子了
cjr7365 2011-11-15
  • 打赏
  • 举报
回复
谁帮我回复一下啊,我都发不了帖子了,没有分

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧