Asp.net mvc MVC上传的图像不显示我的表格
我是MVC的初学者,我开发了我的图像上传脚本项目,我想在网格中显示我上传的图像,有人需要将上传的图像替换为其他图像,我的代码工作不正常,请帮助我, 形象 型号Asp.net mvc MVC上传的图像不显示我的表格,asp.net-mvc,Asp.net Mvc,我是MVC的初学者,我开发了我的图像上传脚本项目,我想在网格中显示我上传的图像,有人需要将上传的图像替换为其他图像,我的代码工作不正常,请帮助我, 形象 型号 public class MainGroup { [DataType(DataType.ImageUrl)] public string Image { get; set; } } @using (@Html.BeginForm("Save", "MainGroup")) {
public class MainGroup
{
[DataType(DataType.ImageUrl)]
public string Image { get; set; }
}
@using (@Html.BeginForm("Save", "MainGroup"))
{
<div class="editor-field">
<input type="file" name="imageFile" id="imageFile" />
@Html.ValidationMessageFor(model => model.Image)
</div>
<div class="col-md-6" style="font-family:Arial, Helvetica, sans-serif; font-size:13px;"><b>Status</b></div>
<div class="col-md-6">
@Html.CheckBoxFor(a => a.StatusId)
</div>
<div class="col-md-6"></div> <div class="col-md-6"></div>
<div class="col-md-6"></div>
<div class="col-md-6"> <input type="submit" id="btn" value="Save" class="btn btn-success" /> </div>
}
</div>
}
查看-索引
<table style="border: 1px solid black;" cellpadding="10">
<tr>
<th>
@Html.DisplayNameFor(model => model.Image)
</th>
<th>
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td valign="top">
<img src="@Url.Content("~/Content/Uploaded/" + item.MainGroupID + "/" + item.Image + "")" alt="@item.MainGroupName" width="100px" height="100px" />
</td>
<td valign="top">
@Html.ActionLink("Edit", "Edit", new { id = item.MainGroupID }, new { @class = "createActor", title = "Edit Actor" })
|
@Html.ActionLink("Delete", "Delete", new { id = item.MainGroupID })
</td>
</tr>
}
</table>
您可以将文件定义为HttpFileBase属性以保存文件,然后在post方法(保存)中将文件移动到“~/Content/upload/”。然后试试看。如果图像文件可用,也可以手动检查目录
public class MainGroup
{
[DataType(DataType.ImageUrl)]
public string Image { get; set; }
public HttpFileBase ImageFile { get; set; }
}
公共类MainGroupController:控制器
{
//获取:Masters/MainGroup
public ActionResult Save(MainGroup maingroup)
{
if (ModelState.IsValid)
{
// You can add other logic also
if(maingroup.ImageFile!= null && maingroup.ImageFile.ContentLength > 0)
{
string filePath = "~/Content/Uploaded/";
string imageUrl = System.IO.Path.Combine(filePath, maingroup.ImageFile.File.FileName);
var objContext = new KnittingdbContext();
maingroup.CreateId = 1;
maingroup.Image = imageUrl;
maingroup.ImageFile.File.SaveAs(imageUrl));
maingroup.StatusChangeDate = System.DateTime.Now;
maingroup.CreatedDate = System.DateTime.Now;
maingroup.EditId = 1;
maingroup.EditDate = System.DateTime.Now;
objContext.MainGroups.Add(maingroup);
objContext.SaveChanges();
TempData["Success"] = "Saved Sucessfully";
}
return RedirectToAction("MainGroupIndex", new { A = "New" });
}
else
{
return PartialView("_MainGroupCreate", maingroup);
}
}
您是否检查了浏览器中图像的正确渲染路径?先生,是的。我认为我的控制器工作不正确。您可以将文件定义为HttpFileBase属性以保存文件,然后在post方法(保存)中将文件移动到“~/Content/upload/”。然后再试。如果图像文件可用,您也可以手动检查目录。IR@unique您能解释一下吗?示例code@Cola请参阅此问题和更多详细信息
public ActionResult Save(MainGroup maingroup)
{
if (ModelState.IsValid)
{
// You can add other logic also
if(maingroup.ImageFile!= null && maingroup.ImageFile.ContentLength > 0)
{
string filePath = "~/Content/Uploaded/";
string imageUrl = System.IO.Path.Combine(filePath, maingroup.ImageFile.File.FileName);
var objContext = new KnittingdbContext();
maingroup.CreateId = 1;
maingroup.Image = imageUrl;
maingroup.ImageFile.File.SaveAs(imageUrl));
maingroup.StatusChangeDate = System.DateTime.Now;
maingroup.CreatedDate = System.DateTime.Now;
maingroup.EditId = 1;
maingroup.EditDate = System.DateTime.Now;
objContext.MainGroups.Add(maingroup);
objContext.SaveChanges();
TempData["Success"] = "Saved Sucessfully";
}
return RedirectToAction("MainGroupIndex", new { A = "New" });
}
else
{
return PartialView("_MainGroupCreate", maingroup);
}
}