|
|
|
|
- Esta lección abarcará los siguientes temas
- Presentación
- Conexión a un servidor FTP
- Enviar un archivo
- Lista de archivos en un servidor FTP
- Transferir un archivo
- Desconectarse de un servidor FTP
Esta lección abarcará los siguientes temas - Presentación de las funciones FTP de WINDEV.
FTP (File Transfer Protocol) es un protocolo estándar para transferir archivos de una máquina a otra. Una de las máquinas debe ser un servidor FTP. Varias funciones WLanguage permiten transferir archivos usando este protocolo con un servidor. Estas funciones comienzan con "FTP". WINDEV solo incluye funciones "cliente" FTP. Se requiere un servidor FTP estándar. El ejemplo unitario "The FTP functions" muestra cómo manipular archivos en un servidor FTP.
- Abra el ejemplo unitario "The FTP functions". Este ejemplo presenta las principales funcionalidades que se pueden utilizar en un servidor FTP.
Conexión a un servidor FTP La función FTPConnect permite conectarse a un servidor FTP. Se necesita una cuenta FTP (nombre de usuario y contraseña) para acceder a un servidor FTP. - Abra los eventos WLanguage del botón "Connection" de la ventana "WIN_FTP":
- Seleccione el control Botón "Connection".
- Pulse F2 para abrir el código WLanguage asociado:
// 1 - FTP address: corresponds to the FTP site // to which the application must connect. Ex: 192.108.10.2 sFTPAddress is string = EDT_FTP_Server // 2 - Username: if this name is not specified, // an "anonymous" connection will be used sUserName is string = EDT_User sUserPWD is string = EDT_Password // Connection to FTP server gnConnectionID = FTPConnect(sFTPAddress, sUserName, sUserPWD) IF ErrorOccurred THEN // An error occurred during the connection Error("The connection to the FTP server: " + sFTPAddress + " failed", ErrorInfo()) RETURN END // The connection is established Info("Connection to the FTP server established", "Connection identifier: " + gnConnectionID)
Observación: También es posible especificar el número de puerto de la conexión al servidor FTP ("21" de forma predeterminada), así como el modo de conexión ("True" para una conexión "pasiva", "False" para una conexión "activa"). Para obtener más información, consulte Funciones FTP estándar. Para enviar un archivo a un servidor FTP, utilice la función FTPSend. Veamos un ejemplo de código que se puede utilizar:
// When connecting to the server with FTPConnect, we have // retrieved the connection number in the gnConnectionID variable // Transfer the "C:\MyDocuments\File.DOC" file to // the "Temp" directory found on the server. bResult is boolean = FTPSend(gnConnectionID, "C:\MyDocuments\File.DOC", "/Temp")
| | | | ¡Atención! | Preste mucha atención a las mayúsculas y minúsculas de los nombres de los directorios en el servidor. Algunos servidores FTP son máquinas UNIX "case sensitive", es decir, que distinguen las mayúsculas y minúsculas de los nombres de los archivos y directorios. Por ejemplo, hay un directorio llamado "MiDirectorio" en el servidor FTP. Si intenta acceder a "mydirectory", el servidor FTP le devolverá un error como "Ruta no encontrada" porque las mayúsculas y minúsculas no son correctas. |
Lista de archivos en un servidor FTP La función FTPListFile hace una lista de los archivos que se encuentran en un servidor FTP. Esta función utiliza un procedimiento de tipo "callback". El procedimiento se ejecuta por cada archivo o directorio encontrado. - Abra los eventos WLanguage del botón "List in a trace" de la ventana "WIN_FTP":
- Seleccione el control Botón "List in a trace".
- Pulse F2 para abrir el código WLanguage asociado:
FTPListFile(gnConnectionID,"*.*", CallBackFTPListFile, ftpFile+ftpDirectory) // Check the function execution IF ErrorOccurred THEN Error("Error while browsing the files found on the FTP server", ErrorInfo()) RETURN END
- En el ejemplo, CallBackFTPListFile es un procedimiento interno que muestra los archivos encontrados en una ventana de salida.
INTERNAL PROCEDURE CallBackFTPListFile(sFileName, nFileSize <useful>, ... sAttribute, sModifDate <useful>, sModifTime <useful>) // Is it a file or a directory IF sAttribute = "D" THEN // Directory or subdirectory Trace("Directory: " + sFileName) ELSE // File Trace("File: " + sFileName) END // Continue to loop through the files RETURN True
Para transferir un archivo de un servidor FTP a su equipo, llame a la función FTPGet. Veamos un ejemplo de código que se puede utilizar:
// When connecting to the server with FTPConnect, we have // retrieved the connection number in the gnConnectionID variable // Download the "/Document/File.DOC" file found // on the FTP server to the "D:\Temp" directory on // the current computer bRes is boolean = FTPGet(gnConnectionID, "C:\MyDocuments\File.DOC", "/Temp")
Desconectarse de un servidor FTP Para desconectarse de un servidor FTP, utilice la función FTPDisconnect. - Abra los eventos WLanguage del botón "Disconnection" de la ventana "WIN_FTP":
- Seleccione el control Botón "Disconnection".
- Pulse F2 para abrir el código WLanguage asociado:
IF YesNo(No, "Do you want to close the connection to the FTP server?") = Yes THEN // Disconnect from the FTP server FTPDisconnect(gnConnectionID) IF ErrorOccurred THEN // Error while closing the connection Error("Unable to close the FTP connection", ErrorInfo()) RETURN END // The connection is ended Info("The connection to the FTP server is over") END
Existen otras funciones FTP pero no las presentaremos en detalle en este tutorial. Estas permiten principalmente: - crear, eliminar y cambiar directorios en el servidor FTP,
- crear, eliminar y cambiar archivos en el servidor FTP,
- obtener información sobre un directorio y/o un archivo,
- ...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|