Using a .NET MVC Controller Action as the Source for an HTML <img>

谁说胖子不能爱 提交于 2020-01-01 16:43:26

问题


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();
}

回答1:


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");
}



回答2:


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.



来源:https://stackoverflow.com/questions/3045952/using-a-net-mvc-controller-action-as-the-source-for-an-html-img

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!