0

我试图将图像上传到数据库,但我收到一个错误,对象引用未设置为对象的实例。

我在视图中有一个文本框,我在控制器中使用内存流,但我无法将图像存储到内存流中。

我也有一个有这个属性的模型

public HttpPostedFileBase file { get; set; }

这是视图中的代码:

@using (Html.BeginForm()) {
@Html.ValidationSummary(true)

<fieldset>
    <legend>Picture</legend>

         @Html.TextBoxFor(m => m.file, new { type = "file" })
        @*<input type="file" value="file" />*@
        <input type="submit" value="Create" />
</fieldset>
}

这是来自控制器的代码:

[HttpPost]
    public ActionResult Create(HttpPostedFileBase file)
    {

        var memoryStream = new System.IO.MemoryStream();
        file.InputStream.CopyTo(memoryStream);

        var fileBytes = memoryStream.ToArray();

        return RedirectToAction("Index");
    }
4

1 回答 1

0

添加enctype attribute你的form元素

@using (Html.BeginForm("Create", 
    "Home", 
    FormMethod.Post, 
    new { id = "form", enctype="multipart/form-data" }))
{

}
于 2013-05-20T11:26:49.937 回答