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

477
Vistas
"Error: error de red" al intentar proporcionar una descarga en HTML5 usando el atributo 'descargar'

Resumen básico de lo que estoy tratando de hacer:

  • Tome archivos del usuario (usando el módulo de arranque de arrastrar y soltar "dropzone" para recibir archivos)
  • Modificar y hacer algo de "trabajo" en los archivos
  • Comprimir archivos juntos para un solo archivo para descargar
  • Enviar la descarga al usuario para que la descargue (ya sea automáticamente o en un enlace, como se detalla a continuación)

La línea en negrita de arriba es la que no funciona y estoy tratando de resolverlo. Aquí está el HTML y javascript relevantes para esa pieza:

 <button type="button" class="btn btn-primary" id="transform"> <span class="glyphicon glyphicon-wrench"></span> Transform Uploaded Files </button> <a id="test_dl" href="" download="user_download.zip"> Download File </a> $('#transform').click(function (e) { $.getJSON('/transform', {}, function (final_zip){ var zipfile = "file://" + final_zip.zip_filename $('a#test_dl').attr("href", zipfile) }); });

El usuario hace clic en el botón "Transformar archivos cargados", que luego actualiza el href a la ubicación del archivo zip resultante y luego puede descargar el paquete resultante haciendo clic en el HTML "Descargar archivo".

He probado esto en Chrome hasta ahora y usando la consola del desarrollador puedo ver que el href se está actualizando correctamente antes de hacer clic en el botón de descarga, pero siempre aparece el cuadro de diálogo "Error de red". Lo extraño es que cuando hago clic en "Mostrar todas las descargas" y luego hago clic en la descarga fallida, se completa con éxito.

Preguntas que espero me respondan

  • ¿Qué parece estar yendo mal aquí?
  • ¿Es esta la manera correcta de hacer esto? Todo lo que intento hacer es devolver un archivo al usuario cuando el proceso finaliza. Me preocupa que "archivo: //" no sea correcto de todos modos y me falle cuando el servidor esté realmente alejado del usuario que lo usa (actualmente es local, ya que lo estoy desarrollando)

Editar: debo agregar que el backend para esto se está ejecutando actualmente en Python's Flask

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Aparentemente, este es un problema de Chrome con la URL de datos demasiado larga. Todavía estoy trabajando en ello, pero aparentemente hay algunas soluciones que involucran objetos Blob.

Ver aquí: Descargar Canvas como PNG en fabric.js dando error de red

Y aquí: ¿Cómo exportar información de matriz de JavaScript a csv (en el lado del cliente)?

over 4 years ago · Santiago Trujillo Denunciar

0

Basado en ¿Cómo exportar información de matriz de JavaScript a csv (en el lado del cliente)? así es como he implementado una solución para este problema:

Tenga en cuenta que solo necesitaba una solución para Chrome - web, así que esto es lo que usé. Para obtener una solución completa, deberá consultar los ejemplos en la respuesta original

 $.ajax({ url: "/getData", dataType: "text", success: function(data){ $("#download").attr({ "value": "Download", "href": URL.createObjectURL(new Blob([data], { type: "application/octet-stream" })), "download": "outputFile.csv" }); } });
over 4 years ago · Santiago Trujillo Denunciar
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