我有一个IMAGE类型的对象,它保存图像。 我想在MVC视图中显示图像以及其他控件。 我能想到的方法是临时存储磁盘上的映像并设置img控件的src。 我相信会有更好的方法。
答案 0 :(得分:4)
在我看来,最简单的方法是从控制器返回FileStreamResult
。
public FileResult GetImage()
{
string path = "c:\images\image.jpg";
return new FileStreamResult(new FileStream(path, FileMode.Open), "image/jpeg");
}
这是一个简单的实现,但为您提供了尝试的起点。
答案 1 :(得分:4)
如果您有兴趣实施@Giovanni's答案,那么我的代码可能会对我在here找到的过去答案有所帮助。 ImageHandler类是您希望在Giovanni案例中实现的示例。
答案 2 :(得分:2)
您可以编写处理程序以将图像流出,然后在图像标记中引用光标。
例如,您有http://myapp/media.ashx?imageId=10流出图像。在您的页面中,您可以像这样引用:
<img src="http://myapp/media.ashx?imageId=10"/>
。
这样您就不必临时写入磁盘。
答案 3 :(得分:1)
您可以将图像作为控制器操作的响应内容提供。此响应将图像类型作为内容类型。
答案 4 :(得分:0)
您可以将图像转换为Base64字符串并将其指定给img标记的src属性。
<img alt="Embedded Image" width="168" height="32"
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKgA..." />