C sharp - Quitar el logo de carga cuando un archivo se termine de descargar

 
Vista:
sin imagen de perfil

Quitar el logo de carga cuando un archivo se termine de descargar

Publicado por Octavio (1 intervención) el 15/02/2024 17:36:03
Hola que tal! Tengo una duda, estoy en un proyecto en MVC .NET que consiste en una pagina web que esta local de momento, en el que el usuario llena un formulario con unos determinados datos en el apartado de vista, y hasta abajo hay un boton, cuando se le da click al boton, en la parte del controlador, los datos que el usuario ingresó en los inputs se pasan a una plantilla de word y llena esa plantilla, despues lo descarga en PDF a la computadora.

Pero quiero que en lo que dura todo ese proceso, se muestre un logo de carga para indicar que aun se sigue procesando el PDF, pero cuando se termina de descargar el documento, el logo nunca desaparece.

Saben si hay alguna manera de detectar cuando la descarga haya finalizado? Todo el tema del logo de carga lo estoy manejando con javascript pero no funciona.


Gracias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!-- Agrega un iframe oculto en tu HTML -->
    <iframe id="pdfFrame" style="display: none;"></iframe>
 
    <script>
        document.getElementById("AssignationLetter").addEventListener("submit", function () {
            // Mostrar círculo de carga y ocultar botón
            document.getElementById("loading-container").style.display = "block";
            document.getElementById("generateBtn").style.display = "none";
 
            // Obtener el iframe
            var pdfFrame = document.getElementById("pdfFrame");
 
            // Agregar un evento de carga al iframe para detectar cuando se completa la descarga del PDF
            pdfFrame.onload = function () {
                // Ocultar el contenedor de carga y mostrar el mensaje de éxito
                document.getElementById("loading-container").style.display = "none";
                document.getElementById("mensaje").style.display = "block";
                document.getElementById("generateBtn").style.display = "block"; // Mostrar el botón nuevamente
 
                // Ocultar el mensaje después de unos segundos
                setTimeout(function () {
                    document.getElementById("mensaje").style.display = "none";
                }, 3000); // Ocultar mensaje después de 3 segundos
            };
 
            // Actualizar la acción del formulario para dirigir la descarga al iframe oculto
            this.action = "/Word/GenerateWord?iframe=true";
        });

</script>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder