drg1006 / Gestor-TFG-2022

Proyecto sobre la evolución de una aplicación de gestión de procesos de oferta, búsqueda, asignación y evaluación de los TFG de la carrera de Ingeniería Informática de la UBU.
https://gestor-tfg-2022.herokuapp.com/
MIT License
0 stars 1 forks source link

Crear el informe descargable #59

Closed drg1006 closed 1 year ago

drg1006 commented 1 year ago

Una vez se ha generado el informe de la pantalla Generar Informes se desea hacer descargable para que el usuario pueda guardarlo en su ordenador donde quiera.

Se tiene fichero con tipo File con toda la información dentro y se ha visto que puede hacerse descargable con :

StreamResource resource = new StreamResource(file.getName(), () -> getStream(file));
Button button = new Button("Download File");
button.setContentMode(ContentMode.HTML);
button.setResource(resource);

El problema es que me aparece el siguiente error: image

También he encontrado otra forma mediante FileDownloader :

FileDownloader fileDownloader = new FileDownloader(new FileResource(new File("path/to/file.txt")));
Button button = new Button("Download File");
fileDownloader.extend(button);
add(button);

Aplicándolo a la aplicación sería :

File file= creacionInforme(checkboxGroup.getValue(),nombreInforme.getValue(),nAlum.getValue());   
            FileDownloader fileDownloader = new FileDownloader(new FileResource(file));
            fileDownloader.extend(button);

Siendo button un objeto de tipo Button, y con el siguiente error:

image

Referencias:

StreamResource

FileDownloader

drg1006 commented 1 year ago

Se ha solucionando creando un objeto tipo Anchor oculto que contiene el recurso para descargar que se activa cuando le damos al botón Crear Informe. Vista previa: image

Tras clickar:

image

Este nuevo enlace nos permite descargar el informe creado.