Sql server 如何使用ASP.NET MVC显示文件夹中的图像
我在项目外部创建实体 我的实体职位Sql server 如何使用ASP.NET MVC显示文件夹中的图像,sql-server,asp.net-mvc,image,entity-framework,Sql Server,Asp.net Mvc,Image,Entity Framework,我在项目外部创建实体 我的实体职位 [Table("Post")] public partial class Post { public int PostID { get; set; } [Required] [StringLength(256)] public string Title { get; set; } [StringLength(256)] public string Description { get; set; }
[Table("Post")]
public partial class Post
{
public int PostID { get; set; }
[Required]
[StringLength(256)]
public string Title { get; set; }
[StringLength(256)]
public string Description { get; set; }
[StringLength(256)]
public string Picture { get; set; }
public int CategoryID { get; set; }
[StringLength(10)]
public string ViewNumber { get; set; }
public int UserID { get; set; }
public DateTime CreateDate { get; set; }
public int LikeNumber { get; set; }
public int? CommentID { get; set; }
}
我的邮政管理员
[HttpPost]
public ActionResult UpPost(Post model, HttpPostedFileBase txtImg)
{
var db = new ShareImageDbContext();
if (ModelState.IsValid)
{
if (txtImg != null)
{
txtImg.SaveAs(HttpContext.Server.MapPath("~/Images/")
+ txtImg.FileName);
var post = new Post();
post.PostID = model.PostID;
post.Title = model.Title;
post.Description = model.Description;
post.CategoryID = model.CategoryID;
var userSession = new UserLogin();
userSession = (UserLogin)Session[ShareImage.Common.CommonConstants.USER_SESSION];
post.UserID = userSession.UserID;
post.CreateDate = DateTime.Now;
post.Picture = txtImg.FileName;
db.Posts.Add(post);
db.SaveChanges();
return RedirectToAction("Index", "Homeuser");
}
else
{
ModelState.AddModelError("", "Đăng ảnh thất bại!");
}
}
return View(txtImg);
}
我的帖子数据库
我想在视图中显示所有帖子。我称之为模型如下
@model IEnumerable<Model.EF.Post>
但它有一个错误:
对象引用未设置为对象的实例
我可以在Images文件夹中显示我的图像,如下代码所示,但我想显示Post表的更多属性,如标题、描述、CreateDate
@foreach(var imgPath in Directory.GetFiles(Server.MapPath("~/Images")))
{
var img = new FileInfo(imgPath);
<img src="@Url.Content(String.Format("~/Images/{0}", img.Name))" />
<hr />
}
@foreach(Directory.GetFiles(Server.MapPath(“~/Images”))中的var-imgPath)
{
var img=新文件信息(imgPath);
}
请指导我如何修复它,谢谢 在视图中,对字符串和
“alt=”“/>
用于图像
由于您没有设置或创建对象而导致的问题。您有一个具有空值的引用。它在视图或控制器中引发。如果您提供错误消息,那就太好了。我感觉您的
ModelState.IsValid
正在返回false
并且您的此行返回视图(txtImg)
正在执行。我不确定您的视图中有什么。但通常将已发布的文件返回到视图是没有意义的(您有一个视图模型正在发布到操作方法)。如果正在成功重定向到索引操作,则在视图中使用该属性之前,需要确保正在设置/初始化任何可能为NULL
的属性。
@foreach(var imgPath in Directory.GetFiles(Server.MapPath("~/Images")))
{
var img = new FileInfo(imgPath);
<img src="@Url.Content(String.Format("~/Images/{0}", img.Name))" />
<hr />
}