Я заменил FTP-сервер, и теперь я не могу загружать файлы в функции vb6 ftp API - PullRequest
0 голосов
/ 09 марта 2020

Я заменил FTP-сервер и теперь не могу загружать файлы. Код был написан на vb6. Точно такой же код, который работает со старым сервером, не работает с новым сервером. В процессе загрузки файла (FtpOpenFile) я вижу, что он создает новый пустой файл в месте назначения, но не возвращает идентификатор файла, который может заполнить файл. Ниже приведен код, большое спасибо за вашу помощь.

Private 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
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 lService As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
Private Declare Function FtpOpenFile Lib "wininet.dll" Alias "FtpOpenFileA" (ByVal hFtpSession As Long, ByVal sBuff As String, ByVal Access As Long, ByVal flags As Long, ByVal Context As Long) As Long

Const INTERNET_OPEN_TYPE_PRECONFIG = 0
Const INTERNET_INVALID_PORT_NUMBER = 0
Const INTERNET_SERVICE_FTP = 1
Public Const FTP_TRANSFER_TYPE_BINARY = &H2



Public Function UploadFile()

.
.
.    
    hInternet = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
    hConnection = InternetConnect(hInternet, sServerName, INTERNET_INVALID_PORT_NUMBER, sUserName, sPassword, INTERNET_SERVICE_FTP, 0, 0)

    hFile = FtpOpenFile(hConnection, RemoteFile, &H40000000, FTP_TRANSFER_TYPE_BINARY, 0)

    If hFile = 0 Then
        MsgBox "Unable to create the remote file."
        Exit Function
    End If


End Function

Проблема в том, что hFile возвращает 0 вместо уникального идентификатора файла на сервере, когда он читает на старом сервере.

ExtraFTP log:
Status: Resolving address of ftp-new......co.il
Status: Connecting to 185.185.133.52:21...
Status: Connection established, waiting for welcome message...
Response:   220 Microsoft FTP Service
Command:    USER ....-ftp
Response:   331 Password required
Command:    PASS ***************
Response:   230 User logged in.
Command:    OPTS UTF8 ON
Response:   200 OPTS UTF8 command successful - UTF8 encoding now ON.
Status: Connected
Status: Starting upload of C:\temp\009\Be072222.mdb
Command:    CWD /michlol/HomeMI
Response:   250 CWD command successful.
Command:    TYPE I
Response:   200 Type set to I.
Command:    PASV
Response:   227 Entering Passive Mode (185,185,133,52,199,44).
Command:    STOR Be072222.mdb
Response:   150 Opening BINARY mode data connection.
Response:   226 Transfer complete.
Status: File transfer successful
Status: Retrieving directory listing...
Command:    PASV
Response:   227 Entering Passive Mode (185,185,133,52,199,45).
Command:    LIST
Response:   150 Opening BINARY mode data connection.
Response:   226 Transfer complete.
Status: Directory listing successful
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...