0

我在 MVC3 中上传一个文件,我的 csHtml 页面是

<div class="editor-label">
    @Html.LabelFor(model => model.Resume)
</div>
<div class="editor-field">
        <input type="file" name="Resume" id="Resume"   />
        @* @Html.EditorFor(model => model.ImageData)*@
    @Html.ValidationMessageFor(model => model.Resume)

</div>

我的发布方法是

[HttpPost] public ActionResult SignUp(UserView user) {

    try
    {
        if (ModelState.IsValid)
        {
            UserManager userManager = new UserManager();
            if (!userManager.IsUserLoginIDExist(user.LoginID))
            {
               // Request.Params["Resume"];
                 userManager.Add(user,Request.Files["Resume"]);
                FormsAuthentication.SetAuthCookie(user.FirstName, false);
                return RedirectToAction("Welcome", "Home");

            }
          }
    }

    catch
    {
        return View(user);
    }

    return View(user);
}

我的模型是

        public class UserView
{
    [Required]
    [Display(Name = "First Name")]
    public string FirstName { get; set; }

    [Required]
    [Display(Name = "Last Name")]
    public string LastName { get; set; }

    [Required]
    [Display(Name = "Contact Number")]
    public string ContactNumber { get; set; }

    [Required]
    [Display(Name = "Login ID")]
    public string LoginID { get; set; }

    [Required]
    [Display(Name = "Password")]
    public string Password { get; set; }

    [Required]
    [Display(Name = "Resume")]
    public string Resume { get; set; }
  }
 }

我在某些机器上将 user.Resume 的值作为完整路径(C:\test.png),而在某些机器上我只得到文件的名称(test.png)。请帮我处理这个杂项问题

4

1 回答 1

0

您目前实际上并没有将文件保存在那里。也许您知道这一点并且为了简洁而省略了代码,但是 ASP.Net 的内置文件处理为您提供了所需的一切。

这个问题为您提供了您需要的所有信息:文件上传 Asp.net Mvc3.0

于 2012-07-11T09:06:54.273 回答