不能上传图片(HttpPostedFileBase为Null)(Cannot Upload Imag

2019-07-21 14:14发布

我想有一个图片上传但是当我点击浏览并选择图像,然后提交我的形式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>

家庭控制器

 public ActionResult UploadImage(HttpPostedFileBase projectBgImage)
    {
        return View();
    }

调试图片

Answer 1:

添加enctype attributeform元素

<form action="Home/UploadImage" method="POST" enctype="multipart/form-data"> 

我建议你使用BeginForm HTML辅助这样的:

@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"/>
}

并与处理法[HttpPost]注释

[HttpPost]
public ActionResult UploadImage(HttpPostedFileBase projectBgImage)
{
    return View();
}

额外的信息:一个漂亮的博客文章由菲尔哈克Asp.net MVC上传



Answer 2:

在视图的enctype需要属性被设置为multipart/form-data

using (Html.BeginForm("ImageUp", "YourUpController", FormMethod.Post, new { enctype = "multipart/form-data" }))

其次,在您操作方法的顶部确保您有HTTPPOST属性。

[HttpPost]
public ActionResult SaveFile(HttpPostedFileBase projectBgImage)


文章来源: Cannot Upload Image (HttpPostedFileBase is Null)