C# 使用HttpPostedFileBase[]发布文件时,对象引用未设置为对象的实例
我收到一条错误消息-对象引用未设置为对象的实例。我相信“文件”是空的,但不知道为什么。有人能告诉我为什么文件是空的吗 谢谢 视图:C# 使用HttpPostedFileBase[]发布文件时,对象引用未设置为对象的实例,c#,html,asp.net-mvc,C#,Html,Asp.net Mvc,我收到一条错误消息-对象引用未设置为对象的实例。我相信“文件”是空的,但不知道为什么。有人能告诉我为什么文件是空的吗 谢谢 视图: 修改表单标记以包括enctype=“多部分/表单数据”。当您有输入type=“file”时,必须指定此类型 ... 修改表单标记以包含enctype=“多部分/表单数据”。当您有输入type=“file”时,必须指定此类型 ... 我添加了这一点,但我仍然收到相同的错误?@SEBTulsa对不起,它应该是enctype,而不仅仅是typePerfect。这正是我
修改表单标记以包括
enctype=“多部分/表单数据”
。当您有输入type=“file”时,必须指定此类型
...
修改表单标记以包含enctype=“多部分/表单数据”
。当您有输入type=“file”时,必须指定此类型
...
我添加了这一点,但我仍然收到相同的错误?@SEBTulsa对不起,它应该是enctype
,而不仅仅是typePerfect。这正是我所需要的。我补充了这一点,但我仍然得到同样的错误?@SEBTulsa对不起,它应该是enctype
,而不仅仅是typePerfect。这正是我所需要的。
<form type="multipart/form-data" action="@Url.Action("AddImage", "HelpDesk")" method="post">
<table cellpadding="0" cellspacing="0" style="width: 100%">
<tr>
<td style="width: 105px"><br /></td>
<td> </td>
</tr>
<tr>
<td style="width: 105px; font-weight: bold">Attach File(s):</td>
<td> </td>
</tr>
<tr>
<td>
<input type="hidden" id="id" name="id" value=@item.ID>
<input type="hidden" id="requesttype" name="RequestType" value=@item.RequestType>
<input type="file" id="files" name="files" multiple>
</td>
</tr>
<tr>
<td>
<input type="submit" value="Add">
</td>
<td> </td>
</tr>
</table>
</form>
public ActionResult AddImage(HelpdeskImage model, int id, string requesttype, HttpPostedFileBase[] files)
{
foreach (HttpPostedFileBase file in files)
{
var fileBytes = new byte[file.ContentLength];
file.InputStream.Read(fileBytes, 0, file.ContentLength);
hd.HelpdeskImages.Add(new HelpdeskImage
{
HelpdeskNum = id,
DocumentExt = Path.GetExtension(file.FileName),
Image = fileBytes,
DocumentName = System.IO.Path.GetFileName(file.FileName),
RequestType = requesttype,
Created = DateTime.Now,
}
);
hd.SaveChanges();
}
//}
return RedirectToAction("Details", new { id = id });
}
<form enctype="multipart/form-data" action="@Url.Action("AddImage", "HelpDesk")" method="post">
...
</form>