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

276
Vistas
Mostrar la imagen devuelta como una matriz de bytes del controlador MVC a través de una solicitud ajax

Recibo un objeto de archivo de un controlador MVC como FileContentResult:

 [HttpPost] public IActionResult Export(RequestModel request) { // Taking file entity fromdb var File = _Service.GetFileById(request); var cd = new ContentDispositionHeaderValue("attachment") { FileNameStar = File.FileName }; Response.Headers.Add(Microsoft.Net.Http.Headers.HeaderNames.ContentDisposition, cd.ToString()); return File(File.FileContent, File.ContentType); } }

En el lado del cliente "React js", permito que el usuario descargue el documento directamente a través de saveAs (biblioteca npm)

 // Ajax request ApiClient.post("Api/Export", { id: parseInt(id) }).then(response => { var octetStreamMime = 'application/octet-stream'; var contentType = response.headers['content-type'] || octetStreamMime; var data = [response.data] var file = new Blob(data, { type: contentType }); console.log(file) var FileSaver = require('file-saver'); FileSaver.saveAs(file, fileName); }).catch( err => console.log(err.response.data)); }

Cuando descargo el archivo como texto, funciona como se esperaba, sin embargo, con los archivos png/jpg/jpeg, muestra una vista previa de la imagen con el siguiente error:

ingrese la descripción de la imagen aquí

Mi pregunta es, ¿mis datos están dañados en este escenario? ¿O la matriz de bytes recibida del controlador MVC necesita reformatearse?

Gracias

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