无法使用asp.net mvc将图像上传到服务器

时间:2014-01-05 12:14:42

标签: c# asp.net asp.net-mvc asp.net-mvc-4 asp.net-mvc-2

我想将图像上传到服务器,当我在我的系统上本地运行代码时,下面的代码工作正常,但当我将其上传到服务器时,它会给出错误消息 - 传递到字典中的模型项是类型为“Login.Models.User”,但此字典需要“System.Collection.Generic.IEnumerable”[Login.Models.User]类型的模型项。请帮助解决此问题。

public ActionResult FileUpload(HttpPostedFileBase file,  Login.Models.User model)
{
    if(ModelState.IsValid)
    {
        try
        {
            var user=db.User.FirstOrDefault(c=>c.Userid==model.Userid);

            if (file != null)
            {
            string pic = System.IO.Path.GetFileName(file.FileName);
            string path = System.IO.Path.Combine(Server.MapPath("~/images/profile/"), pic);
            file.SaveAs(path);
            user.imagepath = "http://sampleApp.com/images/profile/" + pic;
            }

        Catch(Exception ex)
        {
            ModelState.AddModelError("",ex.Message);
        }
        return View("ViewAdmin",model);
    }
    db.ObjectStateManager.ChangeObjectState(user,System.Data.EntityState.Modified);
    db.SaveChanges();
    return RedirectToAction("User");
}

查看

@model Login.Models.User

@using (Html.BeginForm("FileUpload", "Home", FormMethod.Post, new { enctype = "multipart/form-data"}))
{  
    <label for="file">Upload Image:</label> 
    <input type="file" name="file" id="file" style="width: 100%;" /> 
    <input type="submit" value="Upload" class="submit" /> 
}

0 个答案:

没有答案