下面是从网上找的用ftp上传下载的代码:
Option Public
Public Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
...
显示全部下面是从网上找的用ftp上传下载的代码:
Option Public
Public Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Public Type WIN32_FIND_DATA
dwFilAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * 260
cAlternate As String * 14
End Type
Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type
Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA"(Byval sAgent As String, Byval LAccessType As Long, Byval sProxyName As String,Byval SProxyBypass As String, Byval lFlags As Long) As Long
Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA"(Byval hInternetSession As Long, Byval sServerName As String,Byval nServerPort As Integer, Byval sUsername As String,Byval sPassword As String, Byval lService As Long,Byval lFlags As Long, Byval lContext As Long) As Long
Declare Function FtpGetFile Lib "wininet.dll" Alias "FtpGetFileA"(Byval hFtpSession As Long, Byval lpszRemoteFile As String,Byval lpszNewFile As String, Byval fFailIfExists As Boolean,Byval dwFlagsAndAttributes As Long, Byval dwFlags As Long,Byval dwContext As Long) As Boolean
Declare Function FtpPutFile Lib "wininet.dll" Alias "FtpPutFileA"(Byval hFtpSession As Long, Byval lpszLocalFile As String,Byval lpszRemoteFile As String, Byval dwFlags As Long,Byval dwContext As Long) As Boolean
Declare Function FtpDeleteFile Lib "wininet.dll" Alias "FtpDeleteFileA"(Byval hFtpSession As Long, Byval lpszFileName As String) As Boolean
Declare Function FtpRenameFile Lib "wininet.dll" Alias "FtpRenameFileA"(Byval hFtpSession As Long, Byval lpszExsiting As String, Byval lpszNew As String) As Boolean
Declare Function InternetCloseHandle Lib "wininet.dll" (Byval hInet As Long) As Integer
Declare Function FtpFindFirstFile Lib "wininet.dll" Alias "FtpFindFirstFileA"(Byval hFtpSession As Long, Byval lpszSearchFile As String,lpFindFileData As WIN32_FIND_DATA, Byval dwFlags As Long,Byval dwContent As Long) As Long
Declare Function InternetFindNextFile Lib "wininet.dll" Alias "InternetFindNextFileA"(Byval hFind As Long, lpvFndData As WIN32_FIND_DATA) As Long
Function Ftp_GetFile(IP As String,LoginName As String,LoginPassword As String,localFile As String,remoteFile As String)
%REM
------------------------------------------------------------------------------------------------------------------------------
函数名称: Ftp_PutFile()
作 者: Benjau
编写日期: 2009.05.08
函数功能: 从FTP服务器上下载文件
参 数: IP String FTP服务器的IP
LoginName String 登陆FTP服务器的用户名
LoginPassword String 登陆FTP服务器的密码
localFile String 存放到本地硬盘上的文件目录与名称
remoteFile String FTP服务器上所指定的文件夹以及文件名称
返 回 值: 暂无.
版 本: V1.0.1
------------------------------------------------------------------------------------------------------------------------------
%END REM
'lnginet = InternetOpen(vbNullString, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0&)
'lnginet = InternetOpen(vbNullString,INTERNET_OPEN_TYPE_PRECONFIG,vbNullString,vbNullString,0)
'If lnginet Then
'lnginetconn = InternetConnect(lnginet,IP,INTERNET_DEFAULT_FTP_PORT, LoginName,LoginPassword,1,INTERNET_FLAG_PASSIVE, 0)
'lnginetconn = InternetConnect(lnginet,IP, 0, LoginName,LoginPassword, 1, 0, 0)
'Msgbox "-"+remoteFile+"-"+lnginet+"-"+IP+"-"+LoginName+"-"+LoginPassword
'If lnginetconn Then
'Msgbox "成功连接FTP服务器!!"
'ftpsetcurrentdirectory.
'Dim bRet As Boolean
'bRet=FtpSetCurrentDirectory(lnginetconn,remoteFile)
'blnRC = FtpGetFile(lnginetconn,remoteFile,localFile, True,FILE_ATTRIBUTE_READONLY,INTERNET_FLAG_TRANSFER_BINARY, 0)
'blnRC = FtpGetFile(lnginetconn,remoteFile,localFile, False,FILE_ATTRIBUTE_READONLY,INTERNET_FLAG_TRANSFER_BINARY, 0lnginet = InternetOpen(vbNullString, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0&)
lnginet = InternetOpen(vbNullString, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0&)
MsgBox "fffff"
If lnginet Then
lnginetconn = InternetConnect(lnginet,IP, 0, LoginName,LoginPassword, 1, 0, 0)
If lnginetconn Then
Msgbox "成功连接FTP服务器!!"
blnRC = FtpGetFile(lnginetconn,remoteFile,localFile, 0, 0, 1, 0)
If blnRC Then
Msgbox "成功下载文件到本地磁盘!!"
Else
Msgbox "下载文件到本地磁盘出错!!"
End If
InternetCloseHandle lnginetconn
InternetCloseHandle lnginet
Msgbox "关闭FTP服务器连接!!"
Else
Msgbox "连接FTP服务器失败!!"
End If
Else
Msgbox "FTP服务器出错!!"
End If
End Function
Function Ftp_PutFile(IP As String,LoginName As String,LoginPassword As String,localFile As String,remoteFile As String)
%REM
------------------------------------------------------------------------------------------------------------------------------
函数名称: Ftp_PutFile()
作 者: Benjau
编写日期: 2009.05.08
函数功能: 上传文件到FTP服务器
参 数: IP String FTP服务器的IP
LoginName String 登陆FTP服务器的用户名
LoginPassword String 登陆FTP服务器的密码
localFile String 存放到本地硬盘上的文件目录与名称
remoteFile String FTP服务器上所指定的文件夹以及文件名称
返 回 值: 暂无.
版 本: V1.0.1
------------------------------------------------------------------------------------------------------------------------------
%END REM
lnginet = InternetOpen(vbNullString, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0&)
If lnginet Then
lnginetconn = InternetConnect(lnginet,IP, 0, LoginName,LoginPassword, 1, 0, 0)
If lnginetconn Then
Msgbox "FTP服务器连接成功!"
blnRC = FtpPutFile(lnginetconn,localFile,remoteFile,1,0)
If blnRC Then
Msgbox "文件已成功上传到FTP服务器!"
Else
Msgbox "文件上传到FTP服务器时出错!"
End If
InternetCloseHandle lnginetconn
InternetCloseHandle lnginet
Msgbox "FTP服务器已经成功关闭!"
Else
Msgbox "FTP服务器连接失败!"
End If
Else
Msgbox "FTP服务器错误!"
End If
End Function
收起