Saltar al contenido principal

Descargando archivos

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.