在我的详细视图中,为了显示有关(在我的情况下是一个任务)的更多信息,我将显示Image
。目前,图像不会显示在视图中。怎么了?
这是我的代码:
控制器中我的ActionResult
:
public ActionResult ShowImage(int id)
{
var task = _context.Task.SingleOrDefault(m => m.ID == id);
Image image = byteArrayToImage(task.Image);
return View(image);
}
转换器方法:
private Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
}
我的观点:
<img src="@Url.Action("ShowImage", new { id = Model.ID } )" class="img-responsive"/>
这是返回的打印屏幕。看到图像的输出,它看起来很好。
答案 0 :(得分:0)
您应该使用FileContentResult
从操作中返回文件。然后你的行动变得如此简单:
private final static PseudoClass GREEN = PseudoClass.getPseudoClass("green");
private final static PseudoClass RED = PseudoClass.getPseudoClass("red");
...
boolean isGreen = clickedBtn.getPseudoClassStates().contains(GREEN);
clickedBtn.pseudoClassStateChanged(GREEN, !isGreen);
clickedBtn.pseudoClassStateChanged(RED, isGreen);
注意:
public IActionResult ShowImage(int id)
{
var task = _context.Task.SingleOrDefault(m => m.ID == id);
return File(task.Image, "image/jpeg"); //TODO: Set Content-Type appropriately
}
参数(我已猜测)。ControllerBase.File
方法返回contentType
。如果您的控制器未继承FileContentResult
或Controller
,则需要直接返回ControllerBase
。