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
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 a un servidor FTP (File Transfer Protocol).
Reportes y Consultas
// Transfer the "C:\MyDocuments\File.DOC" file
// into the "/Temp" directory on the FTP server
ResSend = FTPSend(ConnectionNum, "C:\MyDocuments\File.DOC", "/Temp")
Sintaxis
<Result> = FTPSend(<Connection identifier> , <File/Directory to Transfer> , <Destination file/directory> [, <WLanguage procedure> [, <Transfer mode>]])
<Result>: booleano
  • True si se realizó la transferencia,
  • False en caso contrario. El estado de error reporte es devuelto por ErrorInfo.
<Connection identifier>: Integro
Identificador de la conexión, devuelto por la función FTPConnect.
<File/Directory to Transfer>: Cadena de caracteres
Nombre y ruta completa (o relativa) del archivo (o directorio) a transferir. Se puede utilizar una ruta de tipo UNC. No se puede utilizar ningún carácter comodín (* o?).
Si este parámetro corresponde a un directorioTodos los archivos encontrados en este directorio son transferidos.. Se crea un directorio con el mismo nombre en el servidor FTP en la ubicación especificada por <Destination File/Directory>..
Si este parámetro corresponde a un archivo:
  • Si <Destino Archivo/Directorio> es un directorio que se encuentra en el servidor FTP, el archivo a recuperar se copia en el directorio de destino.
  • Si <Destination File/Directory> es un archivo que se encuentra en el servidor FTP, el archivo a transferir se copia y se le cambia el nombre.
<Destination file/directory>: Cadena de caracteres
Nombre y ruta completa (o relativa) del archivo (o directorio) de destino. Este archivo (o directorio) se encuentra en el servidor FTP. Las secciones de la ruta están separadas por barras oblicuas ("/").
Una ruta completa 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 estructura de árbol tiene el siguiente formato: "/<CurrentServerDirectory>/<DirectoryName>/<FileName&gt".
<WLanguage procedure>: Nombre de Procedure
El nombre de Procedure fue llamado automáticamente para comprobar el progreso de la transferencia.
<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
Reportes y Consultas

Gestión del progreso de la transferencia

FTPSend 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, FTPSend puede llamar automáticamente a <nombre de Procedure> Procedure a intervalos regulares.
Este procedimiento se declara de la siguiente manera:
PROCEDURE <Procedure name>(<Total size>, <Transferred size>)
  • <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.
Por ejemplo, es posible:
  • mostrar una barra de progreso,
  • saber si la transferencia ha finalizado (<Tamaño total> = <Tamaño transferido>).
La función FTPSend 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 procedimiento <Nombre de procedimiento>:
RESULT False
En los demás casos (para continuar la navegación), el procedimiento <Nombre de procedimiento> DEBE devolver True.
Se genera un error si no se devuelve ningún valor (ni True ni False) por el <nombre de Procedure> Procedure.

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

Sólo un usuario que tenga derechos de escritura en el servidor FTP puede enviar archivos a un servidor FTP.. En la mayoría de los casos, no se conceden derechos de escritura a los usuarios "anónimos".

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.
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
FTPSEND -
s_arquivo_endereco_local is string=ftp_conf.endereco_local+TABLE_local.COL_nome_arquivo // "d:\erpmatos\Atualizacao\matosnfe.jpg"
s_arquivo_endereco_remoto is string=ftp_conf.endereco_remoto+TABLE_local.COL_nome_arquivo // "/web/_Windev_Erp_matos/matosnfe.jpg"
// TRANSFERENCIA
IF FTPSend(n_conexao,s_arquivo_endereco_local,s_arquivo_endereco_remoto,_transferencia) = False THEN
Info("erro transferencia")
END
// TRANSFERENCIA
// ESSA PROCEDURE ESTA LINKADA AO FTPSEND
PROCEDURE _transferencia(nTotal, nCurrent)
Gauge(nCurrent,nTotal) // vai gerar uma barra de progresso status
// tem de estar com status de mensagem na windows ativa
RESULT True
De matos AMARILDO
04 01 2016

Última modificación: 27/05/2022

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