AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Comunicación / Funciones FTP
  • Gestión del progreso de la transferencia
  • Tiempo límite de transferencia
  • Permisos de usuarios
  • Ruta relativa o absoluta
  • Servidor FTP de tipo AS/400 FTP
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Transfiere un archivo de un servidor FTP (File Transfer Protocol) al equipo actual.
Observación: Esta función solo permite recuperar un archivo. El archivo debe existir en el servidor FTP. En este caso, la función FTPGetFile es más rápida que FTPGet.
Ejemplo
// Download the "/Document/File.txt" file found on the FTP server
// in the "D:\Temp" directory on the current computer
ResRetrieve = FTPGetFile(7, "/Document/File.txt", "D:\Temp")
Sintaxis
<Result> = FTPGetFile(<Connection identifier> , <File to get> , <Destination file/directory> [, <WLanguage procedure> [, <Transfer mode>]])
<Result>: booleano
  • True si se realizó la transferencia,
  • False en caso contrario. Para obtener más información sobre el error, utilice la función ErrorInfo con la constante errMessage.
    Observación: El resultado puede ser incorrecto en algunos servidores Unix: es posible que no se encuentre un archivo existente.
<Connection identifier>: Integro
Identificador de conexión, devuelto por la función FTPConnect.
<File to get>: Cadena de caracteres
Nombre y ruta absoluta (o relativa) del archivo a obtener. Este archivo se encuentra en el servidor FTP. Las secciones de la ruta están separadas por barras oblicuas ("/").
Atención: el nombre del directorio distingue entre mayúsculas y minúsculas. Se deben utilizar las mismas mayúsculas y minúsculas que se utilizaron en el servidor FTP.
No se pueden utilizar caracteres comodín (* o?). Para obtener varios archivos, primero utilice la función FTPListFile para obtener el nombre de los archivos a recuperar.
Una ruta absoluta tiene el siguiente formato: "/<NombreDirectorio>/<NombreArchivo>". La jerarquía obtenida tiene el siguiente formato: "/<NombreDirectorio>/<NombreArchivo>".
Una ruta relativa tiene el siguiente formato: "<NombreDirectorio>/<NombreArchivo>". La jerarquía obtenida tiene el siguiente formato: "/<DirectorioActualServidor>/<NombreDirectorio>/<NombreArchivo>".
Al obtener el archivo:
  • si <Fichero/Directorio de destino> es un directorio encontrado en el ordenador actual, el fichero a recuperar se copia en el directorio de destino.
  • si <Fichero/Directorio de destino> es un fichero encontrado en el ordenador actual, el fichero a recuperar es copiado y renombrado.
<Destination file/directory>: Cadena de caracteres
Nombre y ruta completa (o relativa) del archivo (o directorio) de destino. Se puede utilizar una ruta de tipo UNC.
Si este parámetro corresponde al nombre de un directorio que existe en el equipo cliente, se crea un archivo con el mismo nombre que el archivo a obtener en este directorio.
<WLanguage procedure>: Nombre de Procedure
Nombre de un procedimiento WLanguage llamado automáticamente para controlar el progreso de la transferencia. Este procedimiento puede ser un método global de clase (en el siguiente formato: <Nombre Clase>::<NombreMétodoGlobal>).
<Transfer mode>: Constante opcional de tipo Integer
Modo de transferencia utilizado:
ftpASCIIModeTransferencia realizada en modo ASCII. Este modo se utiliza para transferir datos entre dos sistemas operativos diferentes, por ejemplo, de UNIX a Windows: el archivo transferido cambia al formato ASCII del sistema de destino.
ftpBinaryMode
(Valor predeterminado)
Transferencia realizada en modo binario. El archivo es idéntico entre el envío y la recepción.
Observaciones

Gestión del progreso de la transferencia

FTPGetFile es una función de bloqueo: no se puede realizar ninguna otra acción hasta que finalice la transferencia en curso.
Para comprobar el progreso de la transferencia, FTPGetFile puede llamar automáticamente a <WLanguage Procedure> Procedure a intervalos regulares (cada 64 KB).
Este procedimiento se declara de la siguiente manera:
PROCEDURE <Procedure name>(<Total size>, <Transferred size>)
donde:
  • <Tamaño total> es un entero que corresponde al tamaño total del archivo que se está transfiriendo.
  • <Tamaño transferido> es un entero que corresponde al número de bytes ya transferidos.
En este procedimiento, es posible:
  • mostrar una barra de progreso (utilizando un control Barra de progreso, por ejemplo),
  • saber si la transferencia ha finalizado (<Tamaño total> = <Tamaño transferido>).
La función FTPGetFile no se puede interrumpir si no ha finalizado la transferencia. Para forzar la interrupción de la navegación, utilice la siguiente línea de código en el procedimiento <Nombre de procedimiento>:
RESULT False
En los demás casos (para continuar la navegación), el procedimiento <Nombre de procedimiento> DEBE devolver True.
Si el procedimiento <Nombre de procedimiento> no devuelve ningún valor (ni True, ni False), se genera un error.

Tiempo límite de transferencia

De forma predeterminada, todas las funciones FTP fallan si no se recibe ninguna respuesta del servidor FTP después de 20 segundos. Este tiempo de espera se puede modificar al conectarse al servidor FTP con la función FTPConnect.

Permisos de usuarios

Solo un usuario con permisos de lectura en el servidor FTP puede recuperar archivos del servidor FTP. En la mayoría de los casos, los usuarios "anónimos" tienen permisos de lectura.

Ruta relativa o absoluta

Las nociones de ruta relativa y ruta absoluta son de gran importancia en una aplicación FTP.
  • Una ruta que comienza con un slash se considera como una ruta absoluta: es la ruta con respecto a la raíz del servidor FTP (parámetro específico del servidor).
    ej: /publicidad/usuario/JULIA
  • Si la ruta no comienza con un slash, se considera como una ruta relativa, es decir, una ruta con respecto al directorio en curso. El directorio en curso puede conocerse o modificarse con la función FTPCurrentDir.
Al conectarse a un sitio FTP, el directorio inicial ("home directory" del usuario) no necesariamente es la raíz del servidor FTP. Por lo tanto, se recomienda utilizar rutas relativas.

Servidor FTP de tipo AS/400 FTP

FTPGetFile no funciona correctamente en un servidor FTP AS/400.
En este caso, le recomendamos que utilice FTPCommand con el comando FTP "RETR" (para más detalles, consulte la documentación sobre el servidor FTP).
Componente: wd290com.dll
Versión mínima requerida
  • Versión 25
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 27/05/2022

Señalar un error o enviar una sugerencia | Ayuda local