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
  • Permisos necesarios
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 o directorio desde un servidor FTP (File Transfer Protocol) al ordenador actual.
WINDEVWEBDEV - Código ServidoriPhone/iPadIOS WidgetMac Catalyst Observación: Para recuperar rápidamente un solo archivo del servidor FTP, utilice FTPGetFile.
WINDEVWEBDEV - Código ServidorReportes y ConsultasAndroidWidget Android JavaCódigo de Usuario (UMC)Ajax
// Download the "/Document/File.txt" file found on the FTP server
// in the "D:\Temp" directory on the current computer
ResRetrieve = FTPGet(7, "/Document/File.txt", "D:\Temp")
Sintaxis
<Result> = FTPGet(<Connection identifier> , <File/Directory to retrieve> , <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 o directorio existente.
<Connection identifier>: Integro
Identificador de la conexión, devuelto por la función FTPConnect.
PHP Este parámetro es de tipo Variant.
<File/Directory to retrieve>: Cadena de caracteres
Nombre y ruta completa (o relativa) del archivo (o directorio) a recuperar. Este archivo (o directorio) 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>".
Si este parámetro corresponde a un directoriose recuperan todos los archivos que se encuentran en este directorio.. Se crea un directorio con el mismo nombre en el ordenador actual en la ubicación especificada por <Fichero/Directorio de destino>.
Si este parámetro corresponde a un 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.
<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>).
PHP Este parámetro no está disponible.
<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
WINDEVWEBDEV - Código ServidorReportes y ConsultasAndroidWidget Android JavaCódigo de Usuario (UMC)Ajax

Gestión del progreso de la transferencia

FTPGet 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, FTPGet 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 número entero que corresponde al tamaño total del archivo o directorio actualmente transferido.
  • <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 FTPGet no se puede interrumpir si no se han transferido todos los archivos. Para forzar la interrupción de la navegación, utilice la siguiente línea de código en el <nombre de Procedure> Procedure:
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

FTPGet 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).
AndroidWidget Android

Permisos necesarios

La llamada a esta función modifica los permisos requeridos por la aplicación.
Requerido Permission : INTERNET
Esta Permission permite a las aplicaciones abrir la red sockets.
Clasificación Lógica de negocio / UI: Lógica de negocio
Componente: wd290com.dll
Versión mínima requerida
  • Versión 9
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