Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

279
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!