我不确定我WebImage
是否正确使用该课程.
我有一个控制器从数据库中提取照片和一些相关信息(评论,上传日期,文件名).我想返回包含此信息的部分视图,并显示图像以及额外信息.
所以我从字节数组创建了一个新的WebImage,但是如何显示呢?
根据这篇文章,它应该很简单
您需要使用Razor语法并创建一个包含图像的变量:
@{ var myImage = WebImage("/Content/myImage.jpg") // Work with the image… }
然后,为了在页面中加载图像,您必须在HTML
<img/>
标记内显示包含图像的变量:
<img src="@myImage"/>
除了不起作用,它只是输出<img src="System.Web.Helpers.WebImage">
和调用.Write
没有帮助.
有没有办法做到这一点,还是我需要将我的动作分成两个不同的动作,一个是返回照片信息,另一个是返回照片本身?
我正在尝试将一个OutputCache添加到具有WebImage.Write()响应的MVC Action,但是一旦我添加它(即使持续时间为0),内容类型也会从image/jpeg更改为text/html和I获取在浏览器中以文本形式呈现的图像.
示例代码 - 如果删除了OutputCache属性,这可以正常工作:
[OutputCache(Duration = 3000)]
public void GetImage(Guid id)
{
//Create WebImage from byte[] stored in DB
DbImage image = DbImageDAL.SelectSingle(e => e.DbImageId == id);
WebImage webimage = new WebImage(image.Data);
webImage.Write();
//Tried webImage.Write("JPEG"); but it makes not difference
}
Run Code Online (Sandbox Code Playgroud)