模型:
public byte[] TECH_IMAGE { get; set; }
控制器:
//DETAILS
public ActionResult Details(int? id)
{
if (id == null)
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
tblTechDeployment tech = db.tblTechDeployments.Find(id);
if (tech == null)
return HttpNotFound();
return View(tech);
var i = db.tblTechDeployments.Find(id);
var vm = new tblTechDeployment
{
TECH_IMAGE = "data:image/png;base64," + Convert.ToBase64String(i.TECH_IMAGE)
};
//var image = (from i in db.tblTechDeployments
// select i.TECH_IMAGE).FirstOrDefault();
//var stream = new MemoryStream(image.ToArray());
//return new FileStreamResult(stream, "image/jpeg");
}
详细信息视图:
<dt>
@Html.DisplayNameFor(model => model.TECH_IMAGE)
</dt>
<dd>
@*@Html.DisplayFor(model => model.TECH_IMAGE)*@<img src="@Model.TECH_IMAGE" />
</dd>
我有一个mvc项目,显示所有技术人员的详细信息按钮,点击它时将显示来自数据库的技术人员的所有信息。除了图像,我正确地完成了所有工作。
数据库中的图像数据类型是图像。它将数据显示为
0x89504E470D0A1A0A0000000D4948445200000258000000.......................(it's so long...)..........
在详细信息视图中看起来也是如此。
在控制器中注释掉的4行是我在网络中找到的另一种方式。但我无法让它发挥作用。或者我做错了吗?
也是这段代码:
var i = db.tblTechDeployments.Find(id);
var vm = new tblTechDeployment
{
TECH_IMAGE = "data:image/png;base64," + Convert.ToBase64String(i.TECH_IMAGE)
};
我收到错误:
无法将类型字符串隐式转换为字节。
如何将存储在数据库中的图像显示到详细信息视图?