8
Ноябрь
2008
Как отправить и получить файл по ftp?
Интернет |Как отправить и получить файл по ftp?
На форме должна быть кнопка.
Option Explicit Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal nAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal nFlags As Long) As Long Private 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 nService As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long Private 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 Private 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 Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer Dim rc& Dim rs& Private Sub Command1_Click() rc& = InternetOpen("", 0, vbNullString, vbNullString, 0) rs& = InternetConnect(rc&, "ftp.narod.ru", "21", "Login", "Password", 1, 0, 0) If FtpGetFile(rs&, "GetFile.txt", "C:\GetFile.txt", False, 0, 1, 0) = False Then MsgBox "Ошибка получения файла!", vbExclamation 'If FtpPutFile(rs&, "C:\SendFile.txt", "SendFile.txt", 1, 0) = False Then MsgBox "Ошибка передачи файла!", vbExclamation 'Параметр dwFlags функции FtpGetFile/FtpPutFile задает тип приема/передачи. 'Он может принимать следующие значения: 1 - для ASCII; 2 - для Binary Call InternetCloseHandle(rs&) Call InternetCloseHandle(rc&) End Sub