Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

271
Vistas
¿Cómo descargo un archivo en javascript sin desconectar los sockets web o mostrar una nueva pestaña?

Después de un trabajo de servidor de larga duración, necesito activar automáticamente una descarga de archivo en el navegador de mi usuario. También tengo conexiones websocket activas que debo mantener en caso de que el usuario esté realizando diferentes tareas en mi aplicación web. Originalmente estaba haciendo esto:

 window.location.replace(downloadLink);

Sin embargo, después de ejecutar esa línea, extrañaría los mensajes de websocket. Esta pregunta trata con el mismo problema: Al hacer clic en la etiqueta A con Href, el zócalo se desconecta

Entonces probé esto:

 window.open(downloadLink, "_blank");

Sin embargo, esto muestra una nueva pestaña abierta y la cierra inmediatamente. Es muy discordante si el usuario estaba trabajando en otra cosa. También he probado esto:

 axios.get(downloadLink, { responseType: "blob" }).then((response) => { const fileURL = window.URL.createObjectURL(new Blob([response.data])); const docUrl = document.createElement("a"); docUrl.href = fileURL; docUrl.setAttribute("download", fileName); document.body.appendChild(docUrl); docUrl.click(); });

Esto funciona pero descarga el archivo en segundo plano. Este archivo es muy grande, por lo que me gustaría que el usuario pudiera ver el progreso de la descarga en la barra de descargas en la parte inferior de la página.

¿Alguien sabe cómo descargar un archivo sin desconectar los sockets web o abrir una nueva pestaña mientras se muestra el progreso de descarga del archivo del navegador?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda