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 / Funciones específicas de la Web / Funciones varias de WEBDEV
  • Presentación
  • Implementación de la descarga de archivos en un sitio web WEBDEV
  • Uso de la ventana de descripción del control (control Botón, control Enlace, etc.)
  • Programación
  • Consejo: para forzar la descarga de archivos (sólo mediante programación)
WINDEV
WindowsLinuxJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac Catalyst
Otros
Procedimientos almacenados
Presentación
La descarga es la operación que consiste en guardar en el ordenador del usuario Web un archivo almacenado en el servidor. El archivo se "descarga" en el ordenador del usuario de la web.
Por ejemplo:
  • Un sitio de DVD te permite descargar trailers de películas en tu ordenador.
  • Los documentos pueden descargarse en una aplicación de gestión documental.
Implementación de la descarga de archivos en un sitio web WEBDEV
WEBDEV propone varios métodos para realizar una descarga de archivos:
  • ventana de descripción del control Botón o control Enlace utilizado para la descarga.
  • programación en WLanguage.

Uso de la ventana de descripción del control (control Botón, control Enlace, etc.)

Para proponer una descarga:
  1. Crear un control "Enlace", control "Botón", ...
  2. Abra la ventana de descripción del control.
  3. En la pestaña "General", seleccione "Enlace personalizado (correo electrónico, teléfono, etc.)"..
  4. En "Dirección", seleccione "Archivo".
  5. Especifique la ruta completa del archivo (directorio + nombre) que se encuentra en el servidor. El archivo debe estar en el directorio "_WEB" del sitio.
En tiempo de ejecución, cuando se hace clic en este control Enlace o Botón:
  • si se reconoce el tipo de archivo, éste se abrirá directamente en el navegador
  • si no se reconoce el tipo de archivo o si corresponde a un ejecutable, un cuadro de diálogo permite descargar este archivo y/o ejecutarlo directamente.

Programación

Para proponer la descarga de archivos mediante programación, basta con utilizar FileDisplay en el código de clic del servidor del Botón o Enlace utilizado para descargar el archivo..
El directorio especificado para el archivo debe ser un directorio al que se pueda acceder y en el que se pueda escribir (por ejemplo, el directorio de datos (fDataDir) o el directorio de recursos (fWebDir))..
Ejemplo:
// Displays the file in the browser
// (if the format is recognized by the system, the file is displayed directly)
FileDisplay(CompleteDir(fWebDir()) + "NOTES.TXT", "text/plain")
En tiempo de ejecución, cuando se hace clic en este control Enlace o Botón:
  • si se reconoce el tipo de archivo, éste se abrirá directamente en el navegador.
  • si no se reconoce el tipo de archivo o si corresponde a un ejecutable, un cuadro de diálogo permite descargar este archivo y/o ejecutarlo directamente.

Consejo: para forzar la descarga de archivos (sólo mediante programación)

Para forzar la descarga independientemente del tipo de archivo, simplemente utilice la siguiente línea de código (en el código de clic del servidor del Botón o control Enlace utilizado para descargar el archivo):
FileDisplay(CompleteDir(fWebDir()) + "NOTES.TXT", "application/unknown")
Sin embargo, el nombre del archivo propuesto para la descarga no corresponde a un nombre válido. Para proponer inmediatamente el nombre del archivo a descargar, basta con añadir este nombre después de los parámetros de FileDisplay..
FileDisplay(CompleteDir(fWebDir()) + "NOTES.TXT", ...
"application/unknown", "Notes.TXT")
Versión mínima requerida
  • Versión 9
Comentarios
Example Download Files via Mobile, Webdev, Windev (Download de arquivos)
//HTM_Download..URL="http://www.7-zip.org/a/7z920.exe"

OK is boolean = HTTPRequest("http://www.7-zip.org/a/7z920.exe")

IF OK = True THEN

Arquivo is Buffer = HTTPGetResult(httpResult)

IF InSimulatorMode() = True
OK = fSaveBuffer("c:\download\7z920.exe",Arquivo)
ELSE
OK = fSaveBuffer("/mnt/sdcard/7z920.exe",Arquivo)
END

IF OK = True THEN

IF InSimulatorMode() = True
OK = fFileExist("c:\download\7z920.exe")
ELSE
OK = fFileExist("/mnt/sdcard/7z920.exe")
END

IF OK = True THEN
Info("Download do arquivo 7z920.exe com sucesso!")
ELSE
Error("Nao foi possivel encontrar o arquivo do 7z920.exe. "+ErrorInfo(errMessage))
END

ELSE
Error("Nao foi possivel efetuar o download do 7z920.exe. "+ErrorInfo(errMessage))
END

ELSE

Error("URL nao encontrado para download do 7z920.exe. "+ErrorInfo(errMessage))

END
adrianoboller
17 01 2015

Última modificación: 30/09/2024

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