“我正在 VS 上使用 ASP.NET 设计一个 Web 应用程序,用户应该上传图像,但我得到“对象引用未设置为对象的实例 [重复]
Posted
技术标签:
【中文标题】“我正在 VS 上使用 ASP.NET 设计一个 Web 应用程序,用户应该上传图像,但我得到“对象引用未设置为对象的实例 [重复]【英文标题】:"I am designing a web application using ASP.NET on VS, the user should upload an image but I get "Object reference not set to an instance of an object [duplicate] 【发布时间】:2021-07-31 12:40:50 【问题描述】:public ActionResult Create(Job job, HttpPostedFileBase upload)
if (ModelState.IsValid)
string path = Path.Combine(Server.MapPath("~/Uploads"), upload.FileName);
upload.SaveAs(path);
job.JobImage = upload.FileName;
db.Jobs.Add(job);
db.SaveChanges();
return RedirectToAction("Index");
ViewBag.CategoryId = new SelectList(db.Categories, "Id", "CategoryName", job.CategoryId);
return View(job);
This is the code, What is the solution for this problem?
-
上传图片问题的代码,我试过好几种解决方法都不行,比如把>换成if 0)>>但它没有用。
问题发生在> 我无法上传图片。我应该怎么做才能解决这个问题?
【问题讨论】:
表单上的文件输入控件的名称是什么?是不是叫“上传”? 【参考方案1】:我认为您的 upload.file 名称是这里的罪魁祸首。您需要确保您的上传不会返回空值。
还要确保服务器路径存在
最后,确保将 enctype="multipart/form-data" 添加到视图中的表单控件
【讨论】:
【参考方案2】:您没有检查正在上传的文件的空值。代码应该是这样的
public ActionResult Create(Job job, HttpPostedFileBase upload)
if (ModelState.IsValid)
if(upload!=null)
string path = Path.Combine(Server.MapPath("~/Uploads"), upload.FileName);
upload.SaveAs(path);
job.JobImage = upload.FileName;
db.Jobs.Add(job);
db.SaveChanges();
return RedirectToAction("Index");
ViewBag.CategoryId = new SelectList(db.Categories, "Id", "CategoryName", job.CategoryId);
return View(job);
有关更多信息,请查看此链接 https://www.compilemode.com/2018/02/upload-images-on-server-folder-in-asp-net-mvc.html
【讨论】:
我按你说的写了,它停止显示错误但仍然无法上传图像。我认为因为以上是关于“我正在 VS 上使用 ASP.NET 设计一个 Web 应用程序,用户应该上传图像,但我得到“对象引用未设置为对象的实例 [重复]的主要内容,如果未能解决你的问题,请参考以下文章