MVC | | HTML表单| |对象引用未设置为对象的实例
我犯了这个错误,我不知道如何克服它: “对象引用未设置为对象的实例。” 我试着使用ID属性和name属性等等 这是我的控制器中有问题的部分:MVC | | HTML表单| |对象引用未设置为对象的实例,html,asp.net-mvc,http-post,forms,Html,Asp.net Mvc,Http Post,Forms,我犯了这个错误,我不知道如何克服它: “对象引用未设置为对象的实例。” 我试着使用ID属性和name属性等等 这是我的控制器中有问题的部分: [HttpPost] public ActionResult Upload(imageFile imageFile) { foreach (var image in imageFile.files) { if (image.ContentLength > 0)
[HttpPost]
public ActionResult Upload(imageFile imageFile)
{
foreach (var image in imageFile.files)
{
if (image.ContentLength > 0)
{
CloudBlobContainer blobContainer = _blobStorageService.GetCloudBlobContainer();
CloudBlockBlob blob = blobContainer.GetBlockBlobReference(image.FileName);
blob.UploadFromStream(image.InputStream);
}
}
return RedirectToAction("Upload");
}
这是HTML。表单:
<p>
@using (Html.BeginForm("Upload", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type="file" name="imageFile" id="imageFile" multiple />
<input type="submit" name="submit" value="Upload" />
}
</p>
@使用(Html.BeginForm(“Upload”、“Home”、FormMethod.Post、new{enctype=“multipart/formdata”}))
{
}
这是“imageFile”类:
公共类图像文件
{
公共IEnumerable文件{get;set;}
}
我做错了什么?我读了很多关于这个例外的帖子,但没有一篇对我有帮助
谢谢。只需将html输入的名称更改为文件,就像在模型类中一样: 视图中的输入元素:
<input type="file" name="files" id="files" multiple />
您的型号:
public class imageFile
{
public IEnumerable<HttpPostedFileBase> files { get; set; }
}
公共类图像文件
{
公共IEnumerable文件{get;set;}
}
异常表示您试图使用对象(imageFile),但该对象为空。这可能是将操作中的参数名称从imageFile更改为file时最常见的例外情况。有时候绑定很挑剔。@KyleGobel是的,我知道了,你知道怎么修复它吗?@Josh这个问题没有更传统的解决方案了吗?
<input type="file" name="files" id="files" multiple />
public class imageFile
{
public IEnumerable<HttpPostedFileBase> files { get; set; }
}