无法上传图片(HttpPostedFileBase为Null)

Job*_*mno 3 c# file-upload image asp.net-mvc-3

我试图有一个图像上传器但是当我点击浏览并选择图像然后提交我的表格时,HttpPostedFileBase为空.我的实施是否遗漏了?请帮忙.

视图

<form action="Home/UploadImage" method="POST">
    <p>
        <input type="file" accept="image/x-png, image/gif, image/jpeg" name="projectBgImage" id="projectBgImage"/>
    </p>
    <input type="submit" value="submit"/>
</form>
Run Code Online (Sandbox Code Playgroud)

家庭控制器

 public ActionResult UploadImage(HttpPostedFileBase projectBgImage)
    {
        return View();
    }
Run Code Online (Sandbox Code Playgroud)

调试图像

在此输入图像描述

Ali*_*hşi 7

添加enctype attribute你的form元素

<form action="Home/UploadImage" method="POST" enctype="multipart/form-data"> 
Run Code Online (Sandbox Code Playgroud)

我建议你BeginForm像这样使用html-helper:

@using (Html.BeginForm("UploadImage", "Home", FormMethod.Post, new { id = "form", enctype="multipart/form-data" }))
{
    <p>
        <input type="file" accept="image/x-png, image/gif, image/jpeg" name="projectBgImage" id="projectBgImage"/>
    </p>
    <input type="submit" value="submit"/>
}
Run Code Online (Sandbox Code Playgroud)

和带[HttpPost]注释的Action方法

[HttpPost]
public ActionResult UploadImage(HttpPostedFileBase projectBgImage)
{
    return View();
}
Run Code Online (Sandbox Code Playgroud)

额外信息:Phil Haack Asp.net MVC上传的精彩博文