Saltar al contenido

Downloading Files

Abrir en ChatGPT

webforJ proporciona métodos para iniciar descargas de archivos, facilitando la entrega de archivos a los usuarios a través del navegador. La Page clase ofrece varias formas de descargar archivos, ya sea que provengan de flujos de entrada, matrices de bytes, archivos físicos o recursos.

Descargando archivos usando InputStream

El método download(InputStream inputStream, String fileName) te permite enviar un archivo al cliente utilizando un flujo de entrada. Esto es particularmente útil cuando el contenido del archivo se genera dinámicamente o se lee de una fuente externa.

InputStream inputStream = new FileInputStream("ruta/a/ejemplo.pdf");
Page.getCurrent().download(inputStream, "ejemplo.pdf");
  • inputStream: El flujo de entrada que representa el contenido del archivo.
  • fileName: El nombre bajo el cual el archivo será descargado por el cliente.

Descargando archivos usando matrices de bytes

El método download(byte[] content, String fileName) permite descargar archivos utilizando una matriz de bytes que representa el contenido del archivo. Este método es útil cuando el contenido del archivo se genera o procesa en memoria.

byte[] content = Files.readAllBytes(Paths.get("ruta/a/documento.txt"));
Page.getCurrent().download(content, "documento.txt");
  • content: La matriz de bytes que representa el contenido del archivo.
  • fileName: El nombre del archivo descargado.

Descargando archivos físicos

El método download(File file, String fileName) se utiliza para descargar un archivo que existe en el servidor.

File file = new File("ruta/a/imagen.png");
Page.getCurrent().download(file, "imagen.png");
// En este caso, se utilizará el nombre original del archivo para la descarga.
Page.getCurrent().download(new File("ruta/a/informe.pdf"));
  • file: El archivo físico que se va a descargar.
  • fileName: El nombre del archivo tal como aparece al cliente.

Descargando recursos

El método download(String path, String fileName) permite descargar recursos ubicados dentro del contexto de la aplicación o especificados por un camino.

Page.getCurrent().download("context://resources/manual.pdf", "manual-del-usuario.pdf");
  • path: La ruta a un archivo físico o una URL de contexto.
  • fileName: El nombre bajo el cual el archivo será descargado por el cliente.