下载的文件与FTP的原文件不一致,win7正常,win10不正常
'FTP下载文件
Public Function DownLoadFile(IP As String, FileName As String, LocalFileName As String, UserName As String, PassWord As String, ByVal FtpSubdirectory As String) As Boolean
On Error GoTo f_Error
Dim Ret As Boolean
Dim FTP_FileName As String
If Len(FtpSubdirectory) > 0 Then
FTP_FileName = "\" & Trim(FtpSubdirectory) & "\" & FileName
Else
FTP_FileName = FileName
End If
hOpen = TestServer
If hOpen <> 0 Then
hConnection = InterConnection(IP, UserName, PassWord)
If hConnection <> 0 Then
' ret = FtpGetFile(hConnection, FileName, LocalFileName, 0, 0, 1, 0)
' DownLoadFile = ret
FtpGetFile hConnection, FTP_FileName, LocalFileName, 0, 0, 2, 0
' 第一个参数hFtpSession 是InternetConnect 调用返回的句柄值。
' lpszRemoteFile和lpszNewFile 分别是FTP服务器上的文件名和将在本地机上创建的文件名?
' fFailIfExists 标志是0(替换本地文件)或1 (如果本地文件已经存在则取消)。
' dwFlagsAndAttributes 用来指定本地文件的文件属性?
' dwFlags 参数指定为1是用ASCII 传输文件(A类传输方法),指定为2是用二进制传输文件(1类传输方法)。
' 最后,当使用回叫信号时,lContext 用来识别应用程序前后关系。
' 如果函数调用成功,blnRC为 True, 反之为False。
DownLoadFile = (GetLastError <> ERROR_INTERNET_EXTENDED_ERROR)
Else
DownLoadFile = False
End If
Else
DownLoadFile = False
End If
InternetCloseHandle hConnection
InternetCloseHandle hOpen
Exit Function
f_Error:
MsgBox "错误码:" & err.Number & Chr(13) & err.Source & ":" & err.Description, vbExclamation, "提示"
End Function