【发布时间】:2013-12-21 15:49:44
【问题描述】:
我正在尝试显示数据库中的图像,但我似乎能够显示 URL 名称而不是图片。
有什么帮助吗?谢谢!
我正在使用 sql server 2008 r2 我的图像表中的数据类型是nvarchar(因为我需要使用它而不是图像):
ImageURL1 nvarchar(255)
这是我将图片创建到数据库的方法。我叫它create.cshtml
<div class="editor-label">
@Html.LabelFor(model => model.ImageURL1)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.ImageURL1, new { type = "file" })
@Html.ValidationMessageFor(model => model.ImageURL1)
</div>
这是我的页面显示视图(但它似乎只能显示 URL LINK 而不是图片)。
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.ActivityTask.activityID)
</td>
<td>
@Html.DisplayFor(modelItem => item.TaskID)
</td>
<td>
@Html.DisplayFor(modelItem => item.ImageURL1)
</td>
<td>
<img src="@Url.Action("GetImage", "MemoryController",new { id = item.ImageURL1 })" />
</td>
这是我的控制器代码
[HttpPost]
public ActionResult Create(Memory memory)
{
if (ModelState.IsValid)
{
db.Memories.Add(memory);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.ActivityID = new SelectList(db.ActivityTasks, "activityID", "activityID", memory.ActivityID);
ViewBag.TaskID = new SelectList(db.ActivityTasks, "taskID", "taskID", memory.TaskID);
ViewBag.ImageURL1 = new SelectList(db.ActivityTasks, "ImageURL1", "ImageURL1", memory.ImageURL1);
return View(memory);
}
我很难弄清楚如何调用的代码
// get image view
public ActionResult GetImage(int id)
{
Memory memory = db.Memories.Find(id);
var imagedata = memory.ImageURL1;
return File(imagedata, "image/jpg");
}
【问题讨论】:
标签: sql-server asp.net-mvc image asp.net-mvc-4