微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 文件上传在MVC 3中始终为空

我想创建一个表单,用户可以在其中编辑个人资料并上传图像(如果需要),
这是我的观点

//表单字符串@using(Html.BeginForm(“EditProfile”,“Employee”,FormMethod.Post,
new {enctype =“multipart / form-data”}))

//输入HTML< input type =“file”name =“file”id =“file”/>

//提交< input type =“submit”name =“SubmitBtn”value =“SaveProfile”/>
< input type =“submit”name =“SubmitBtn”value =“Cancel”/>

现在我的控制器

//Profile Modification
    [Authorize]
    [HttpPost]
    public ActionResult EditProfile(employer model,string SubmitBtn,HttpFileCollection file)
    {
        switch (SubmitBtn)
        {
            case "SaveProfile":
                try
                {
                    if (ModelState.IsValid)
                    {
                          //the file is always null
                        if (file != null)
                        {
                             //Function I want to Apply on file
                             model.logoname = logouploded(file);  
                            return RedirectToAction("Profile","Employer");
                        }
                        return RedirectToAction("EditProfile");
                    }
                    //ChangeEmployeeProfile(model);

                }
                catch (Exception ex)
                {
                    ViewBag.warn = ex.Message;
                    return View(model);
                }
                break;
            case "Cancel":
                return RedirectToAction("index");
        }
        return View(model);
    }

现在无论我上传文件是什么文件总是空的
我还尝试了HttpFileCollectionBase作为Action函数中的参数仍然是文件为null

仅提及员工模型仅包含图像文件
因为我只想在数据库中保存图像名称.

解决方法

将HttpFileCollection类型更改为 HttpPostedFileBase.

原文地址:https://www.jb51.cc/csharp/92824.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐