Я хочу загрузить изображение с ftp, чтобы позже использовать его в отчете о доступе, проблема в том, что ftpgetFile возвращает 0 и не загружает изображение в папке.
Public Function RecuperarFirmaMuestreadores(userID As Long)
Dim firma As String
Dim id As String
id = CStr(userID) & ".jpg"
sign = ftpfirma("XXX.XX.XXX.XXX", "User", "password", "/document/", id)
End Function
Function ftpfirma(ByVal HostName As String, ByVal Username As String, ByVal Password As String, ByVal sDir As String, id As String) As String
Dim sOrgPAth As String
Dim pData As WIN32_FIND_DATA
Dim hFind As Long, lRet As Long
Dim hConnection, hOpen, hFile As Long
Dim sFiles() As String
Dim firma As Long
sPath = String(MAX_PATH, 0)
hOpen = InternetOpen("FTPGET", 1, vbNullString, vbNullString, 1)
hConn = InternetConnect(hOpen, HostName, INTERNET_DEFAULT_FTP_PORT, Username, Password, 1, 0, 2)
' Change Directory
Call FtpSetCurrentDirectory(hConn, sDir)
' get list of directory
Call FtpGetCurrentDirectory(hConn, sPath, Len(sPath))
Call FTPGetFile(hConn, id, "C:\Documents and Settings\Adrian\Mis documentos\Descargas", True, 0, 0 Or GENERIC_READ, 0)
' Close Internet Connection
Call InternetCloseHandle(hOpen)
Call InternetCloseHandle(hConn)
End Function
В ftp образе существует и находится в / Documents с именем вроде 123.jpg, и я загружаю в свою папку загрузок, и я не получаю ошибок для работы.
Заранее спасибо.
РЕДАКТИРОВАТЬ
Я пытаюсь, что вы говорите, но это не работает, и getLastError возвращает 0
Call FTPGetFile(hConn, id, "C:\Documents and Settings\Adrian\Mis documentos\Descargas\" & id, True, 0, INTERNET_FLAG_PASSIVE, 0)
e = getLastError()
РЕШЕНИЕ, ДАННОЕ МАРТИНОМ
Убедитесь, что значение флага не равно 0, как в этом случае, и является INTERNET_FLAG_PASSIVE
hConn = InternetConnect(hOpen, HostName, INTERNET_DEFAULT_FTP_PORT, Username, Password, 1, INTERNET_FLAG_PASSIVE, 2)
Большое спасибо всем за ваши ответы.