我收到此错误,我不知道如何过来:
"对象引用未设置为对象的实例。"
Line 48: public ActionResult Upload(imageFile imageFile)
Line 49: {
Line 50: foreach (var image in imageFile.files)
Line 51: {
Line 52: if (image.ContentLength > 0)
我尝试使用ID属性和名称属性,而不是......
这是我控制器中有问题的部分:
[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.Form:
<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>
这是&#34; imageFile&#34; class:
public class imageFile
{
public IEnumerable<HttpPostedFileBase> files { get; set; }
}
我做错了什么?我读了很多关于这个例外的帖子,但没有一个对我有帮助..
谢谢。
答案 0 :(得分:0)
只需将html输入的名称更改为文件,就像在模型类中一样:
视图中的输入元素:
<input type="file" name="files" id="files" multiple />
你的模特:
public class imageFile
{
public IEnumerable<HttpPostedFileBase> files { get; set; }
}