在我的 MVC 4 应用程序中,当用户注册时,我希望他们可以选择图像并在注册的同时上传该图像 - 我只是在查看有关如何执行此操作的一些指导。
这是我用于注册的 MVC 模型 - 我添加了 HttpPostedFileBase 来保存正在发布的文件以及正在注册的新帐户的用户名和密码:
public class RegisterModel
{
[Required]
[Display(Name = "User name")]
public string UserName { get; set; }
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }
public HttpPostedFileBase File { get; set; }
}
注册视图包括以下输入html:
<input id="register-avatar" type="file" name="file" />
但是,当我注册时,文件的值始终为空...
2013 年 4 月 11 日更新
我终于创建了一篇似乎没有涉及如何在 MVC 4 模板中使用通用 RegisterModel 上传个人资料图片的帖子。你可以在这里找到它 - MVC 4 Add Profile Image to RegisterModel
更新
下面评论中提到的问题是我没有设置 enctype。有关更多信息,请查看此处