当前位置: 代码迷 >> Lotus >> LS实现FTP上传下载文件解决方案
  详细解决方案

LS实现FTP上传下载文件解决方案

热度:61   发布时间:2016-05-05 07:00:28.0
LS实现FTP上传下载文件
我是按照以下地址做的,http://203.208.35.101/search?q=cache:IsO0J8tPkVIJ:www.lotusfans.com/forum/archive/index.php/t-37586.html+Call+moFTP.Connect&hl=zh-CN&ct=clnk&cd=1&gl=cn&st_usg=ALhdy29RVNgDLXtMplbFVTbsLy2E7QSerA
可是我们这里的FTP服务器 不是用的默认端口21 而是用的27 请问服务器那里的地址如何写呀?

------解决方案--------------------
'+++++++++++++++++++++++++++++++++++++++
' NotesFTP Script Library (Notes.net sample)
' Copyright (c) 2000 Paul D. Ray
' Last Update: May 29, 2000
'+++++++++++++++++++++++++++++++++++++++

' private Win32 constants used by the Class
Private Const MAX_PATH = 260
Private Const INTERNET_FLAG_RELOAD = &H80000000
Private Const FILE_ATTRIBUTE_NORMAL = &H80
Private Const INTERNET_OPEN_TYPE_PRECONFIG = 0
Private Const INTERNET_INVALID_PORT_NUMBER = 0
Private Const INTERNET_SERVICE_FTP = 1

' public constants that can be used as arguments to the methods in the Class
Const FTP_TRANSFER_TYPE_BINARY = &H2
Const FTP_TRANSFER_TYPE_ASCII = &H1
Const INTERNET_FLAG_PASSIVE = &H8000000

' Win32 API struct for extracting file info
Private Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As Currency
ftLastAccessTime As Currency
ftLastWriteTime As Currency
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * MAX_PATH
cAlternate As String * 14
End Type

' function declarations for Win32 Internet API
Declare Private 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 Private Function FtpSetCurrentDirectory Lib "wininet.dll" Alias "FtpSetCurrentDirectoryA" (Byval hFtpSession As Long, Byval lpszDirectory As String) As Integer
Declare Private Function FtpGetCurrentDirectory Lib "wininet.dll" Alias "FtpGetCurrentDirectoryA" (Byval hFtpSession As Long, Byval lpszCurrentDirectory As String, lpdwCurrentDirectory As Long) As Integer
Declare Private 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 Integer
Declare Private Function FtpGetFile Lib "wininet.dll" Alias "FtpGetFileA" (Byval hFtpSession As Long, Byval lpszRemoteFile As String, Byval lpszNewFile As String, Byval fFailIfExists As Integer, Byval dwFlagsAndAttributes As Long, Byval dwFlags As Long, Byval dwContext As Long) As Integer
Declare Private Function FtpDeleteFile Lib "wininet.dll" Alias "FtpDeleteFileA" (Byval hFtpSession As Long, Byval lpszFileName As String) As Integer
Declare Private Function FtpCreateDirectory Lib "wininet.dll" Alias "FtpCreateDirectoryA" (Byval hConnect As Long, Byval lpszDirectory As String) As Integer
Declare Private Function FtpRenameFile Lib "wininet.dll" Alias "FtpRenameFileA" (Byval hConnect As Long, Byval lpszExisting As String, Byval lpszNew As String) As Integer
Declare Private Function FtpRemoveDirectory Lib "wininet.dll" Alias "FtpRemoveDirectoryA" (Byval hConnect As Long, Byval lpszDirectory As String) As Integer
Declare Private Function apiInternetCloseHandle Lib "wininet.dll" Alias "InternetCloseHandle" (Byval hInet As Long) As Long
Declare Private 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 Private 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
  相关解决方案