2013-0730

MVC上传文件时HttpPostedFileBase file为null的问题

作者: momy 分类: 编程开发 3 Comment »
摘要:MVC使用Ajax.BeginForm上传图片时HttpPostedFileBase file为null,Request.Files获取不到文件,问题分析是页面中存在jquery.unobtrusive-ajax.js文件,注释后能够获取到。

MVC使用Ajax.BeginForm上传图片时HttpPostedFileBase file为null,Request.Files获取不到文件,问题分析是页面中存在jquery.unobtrusive-ajax.js文件,注释后能够获取到。改为Html.BeginForm实现如下:

@using (Html.BeginForm("UploadPhoto", "EditUserInfo", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
选择图片:
<input type="file" name="uploadFile" />
<input type="submit" />
}

Controller:


[HttpPost]
public ActionResult UploadPhoto(HttpPostedFileBase uploadFile)
{
    if (uploadFile != null && uploadFile.ContentLength > 0)
    {
        string fileName = WebSecurity.CurrentUserId + Path.GetExtension(uploadFile.FileName)
        string direction = Server.MapPath("~/UpLoad/Companys/logo/");
        string destinationPath = Path.Combine(direction, fileName);
        if (!Directory.Exists(direction))
        {
            Directory.CreateDirectory(direction);
        }
        uploadFile.SaveAs(destinationPath);
    }
    return View();
}


标签: mvc Ajax.BeginForm HttpPostedFileBase 图片上传 文件上传 阅读: 18325
上一篇: C#使用百度API通过IP获取地理位置和坐标 - 11693次
下一篇: 揭秘黑帽大会:黑客们的“海天盛筵” - 4210次

网友评论

106.83.114.* 2016/3/15 16:22:38

ddddddddd

125.88.24.* 2016/8/19 23:15:51

我也是这样写的,但是提交后发现是null  

119.90.121.* 2017/3/29 16:00:42

问题解决了吗,我也遇到这样的问题了。

向右滑动解锁留言