Red de conocimiento informático - Problemas con los teléfonos móviles - No se puede utilizar FTP para operar archivos locales en VB, ¿por qué?

No se puede utilizar FTP para operar archivos locales en VB, ¿por qué?

Te daré uno nuevo

Módulo (ftp.cls)

Clase VERSIÓN 1.0

BEGIN

MultiUse = -1 ' Verdadero

Persistable = 0 'NotPersistable

DataBindingBehavior = 0 'vbNone

DataSourceBehavior = 0 'vbNone

MTSTransactionMode = 0 'NotAnMTSObject< / p>

END

Atributo VB_Name = "FTP1"

Atributo VB_GlobalNameSpace =False

Atributo VB_Creatable = True

Atributo VB_PredeclaredId = False

Atributo VB_Exposed = False

'******************

'descargar por

'************************

Función de declaración privada InternetOpen _

Lib "wininet.dll " _

Alias ​​​​"InternetOpenA" (ByVal sAgent como cadena, _

ByVal lAccessType como largo, _

ByVal sProxyName Como cadena, _

ByVal sProxyBypass como cadena, _

ByVal lFlags As Long) As Long

Función de declaración privada InternetConnect _

Lib "wininet.dll" _

Alias ​​​​"InternetConnectA" (ByVal hInternetSession As Long, _

ByVal sServerName Como cadena, _

ByVal nServerPort Como Entero, _

ByVal sUsername como cadena, _

ByVal sPassword como cadena, _

ByVal lService mientras, _

ByVal lFlags As Long, _

ByVal lContext As Long) As Long

Función de declaración privada FtpGetFile _

Lib "wininet.dll" _

Alias ​​​​"FtpGetFileA" (ByVal hFtpSession As Long, _

ByVal lpszRemoteFile As String, _

ByVal lp

szNewFile como cadena, _

ByVal fFailIfExists como booleano, _

ByVal dwFlagsAndAttributes como largo, _

ByVal dwFlags como largo, _

ByVal dwContext As Long) Como booleano

Función de declaración privada FtpPutFile _

Lib "wininet.dll" _

Alias ​​​​"FtpPutFileA" (ByVal hFtpSession Mientras, _

ByVal lpszLocalFile como cadena, _

ByVal lpszRemoteFile como cadena, _

ByVal dwFlags Mientras, _

ByVal dwContext As Long) Como Booleano

Función de declaración privada FtpDeleteFile _

Lib "wininet.dll" _

Alias ​​​​"FtpDeleteFileA" (ByVal hFtpSession Como Largo, _

ByVal (lpszFileName como cadena) como booleano

Función de declaración privada FtpRenameFile _

Lib "wininet.dll" _

Alias ​​​​"FtpRenameFileA" (ByVal hFtpSession As Long, _

ByVal lpszExsiting As String, _

ByVal lpszNew As String) Como booleano

Función de declaración privada InternetCloseHandle _

Lib "wininet.dll" (ByVal hInet As Long) como entero

Función de declaración privada FtpCreateDirectory _

Lib "wininet.dll" _

Alias ​​​​" FtpCreateDirectoryA" (ByVal hFtpSessionamp;, _

ByVal lpszDirectory$) como booleano

Atenuar el estado de la conexión como booleano

Dim Connection Handle As Long

Función pública Conectarse al servidor (ip como cadena, puerto como entero, cuenta como cadena, contraseña como cadena) como booleano

Dim Inicializar mientras

Inicializar = InternetO

pen(vbNullString, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0amp;)

Identificador de conexión = InternetConnect(Initialize, ip, Puerto, Cuenta, Contraseña, 1, 0, 0)

Si está conectado El identificador es gt; 0 entonces

Estado de conexión = Verdadero

De lo contrario

Estado de conexión = Falso

Finalizar si

Servidor de conexión = Estado de conexión

Función final

Función pública Cargar archivos (ruta local como cadena, ruta remota como cadena) como booleano

Si hay conexión Estado = Verdadero Entonces

Cargar archivo = FtpPutFile(identificador de conexión, ruta local, ruta remota, 1, 0)

más

MsgBox "Confirme la conexión primero p> Finalizar si

Finalizar función

Archivo de descarga de función pública (ruta remota como cadena, ruta local como cadena) como booleano

Si estado de conexión = Verdadero entonces

Descargar archivo = FtpGetFile (identificador de conexión, ruta remota, ruta local, falso y H80000000 y H0, 0)

más

MsgBox " Primero confirme la conexión"

Finalizar si

Finalizar función

Función pública Eliminar archivo (ruta remota como cadena) como booleano

Si Estado de conexión = Verdadero Entonces

DeleteFile = FtpDeleteFile(identificador de conexión, ruta remota)

De lo contrario

MsgBox "Primero confirme la conexión.

"

Finalizar si<

Finalizar función

Función pública Crear directorio (ruta ByVal como cadena) como cadena

Si estado de conexión = Verdadero Entonces

CreateDirectory = FtpCreateDirectory(ConnectionHandle, Path)

Else

MsgBox "Primero confirme la conexión"

Finalizar si< / p>

Función final

Cambio de nombre de archivo de función pública (nombre de archivo original de ByVal como cadena, nombre de archivo nuevo de ByVal como cadena)

Si estado de conexión = Verdadero, entonces

ReturnValamp;= FtpRenameFile(identificador de conexión, nombre de archivo original, nombre de archivo nuevo)

Else

MsgBox "Primero confirme la conexión"

Fin si

p>

Finalizar función

Finalizar función p>

Llamada de ventana:

Atenuar Fffd como FTP1

Establecer Fffd = Nuevo FTP1

Llame a Fffd. Conéctese al servidor (dirección IP, 21, "Nombre de usuario", "Contraseña")

Llame a Fffd.Upload File(Mid(Nombre de archivo, 7))

.