HttpPostedFileBase to byte array make exception
本文关键字:make exception array byte to HttpPostedFileBase | 更新日期: 2023-09-27 18:37:23
>我正在使用 mvc 4
我有这个模型:ViewModelOne
public HttpPostedFileBase passportImage { get; set; }
另外,我有这个模型:modelViewTWO
public byte[] passportImage { get; set; }
我有这个视图女巫使用视图模型一作为模型
@Html.TextBoxFor(model => model.passportImage, new { placeholder = "Uploadt Your Passport", type = "file"})
我有这个控制器:
public string Register(ViewModelOne newT) {
modelViewTWO second = new modelViewTWO();
byte[] data;
using (Stream inputStream = newT.passportImage.InputStream)
{
MemoryStream memoryStream = inputStream as MemoryStream;
if (memoryStream == null)
{
memoryStream = new MemoryStream();
inputStream.CopyTo(memoryStream);
}
data = memoryStream.ToArray();
}
second.passportImage = data;
}
我得到了这个例外
对象引用未设置为对象的实例。
在这一行中
newT.passportImage.InputStream
编辑
我检查了newT.passportImage,它是空的。 为什么?
您需要
将 enctype
属性添加到表单标记中,以便数据也发布:
@using (Html.BeginForm(null, null, FormMethod.Post, new { enctype = "multipart/form-data" })) {
(将前两个参数设置为 null
将发布表单所在的相同操作和控制器。