Using a .NET MVC Controller Action as the Source for an HTML <img>
-
27-09-2019 - |
Question
I'm trying to display the picture associated with a user in my database (the picture field's data type is image
) on a page - unfortunately the code below fails to do that.
HTML
<img src="/User/Picture/1" />
Controller Action
public byte[] Picture(int id){
UserRepository r = new UserRepository();
return r.Single(id).logo.ToArray();
}
Solution
PROBLEM SOLVED
Apologies, I didn't read up enough on this!
All that needed to be done was make the Controller Action return FileContentResult
public FileContentResult Picture(int id)
{
UserRepository r = new UserRepository();
return new FileContentResult(r.Single(id).logo.ToArray(), "image/jpeg");
}
OTHER TIPS
This question has a lot of useful answers. You probably need the FileContentResult-related answers.
In short, you need to return appropriate ActionResult, and not just array of bytes.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow