Search code examples
c#javascriptimageasp.net-mvc-2actionmethod

How should I return an Image from a controller action c# asp.net-mvc-2?


I am building images from a byte[] like below.

public FileContentResult GetEmployeeImage(int empId)
{
   MemoryStream ms = new MemoryStream(byteArray);
   Image returnImage = Image.FromStream(ms);
   return returnImage;//How should i return this image to be consumed by javascript.
}

I want to return this image to the browser via a controller action method, so as it can be consumed by my javascript code and displayed in the browser. How should I do this?


Solution

  • You don't need to create an image object; you just want to return the raw data.
    The browser will read the raw data into an image.

    return File(byteArray, "image/png");
    

    Obviously, you need to pass the correct content type, depending on what image format is in the byte array.