asp.net-mvc - Asp.net mvc 中的文件上传问题
问题描述
我添加了 HTML 输入类型文件运行项目后,单击输入文件以选择我的文件。当我选择文件并在停止我的项目后单击确定时。问题是什么?
@using (Html.BeginForm("Update", "User", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<div class="col-sm-3">
<div class="profile_img">
<div id="crop-avatar">
<img class="img-responsive avatar-view" width="250" height="150" src="~/Styles/images/@Model.User.Image" alt="Avatar" title="Change the avatar">
</div>
</div>
<div class="form-group">
<input type="file" name="file" id="file1" />
</div>
</div>
<div class="col-sm-8 form-horizontal form-label-left">
<div class="form-group">
@Html.LabelFor(model => model.User.FirstName, new { @class = "control-label col-md-3 col-sm-3 col-xs-12" })
<div class="col-md-8 col-sm-6 col-xs-12">
@Html.TextBoxFor(model => model.User.FirstName, new { @class = "form-control col-md-7 col-xs-12" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.User.LastName, new { @class = "control-label col-md-3 col-sm-3 col-xs-12" })
<div class="col-md-8 col-sm-6 col-xs-12">
@Html.TextBoxFor(model => model.User.LastName, new { @class = "form-control col-md-7 col-xs-12" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.User.MiddleName, new { @class = "control-label col-md-3 col-sm-3 col-xs-12" })
<div class="col-md-8 col-sm-6 col-xs-12">
@Html.TextBoxFor(model => model.User.MiddleName, new { @class = "form-control col-md-7 col-xs-12" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.User.UserName, new { @class = "control-label col-md-3 col-sm-3 col-xs-12" })
<div class="col-md-8 col-sm-6 col-xs-12">
@Html.TextBoxFor(model => model.User.UserName, new { @class = "form-control col-md-7 col-xs-12" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.User.Email, new { @class = "control-label col-md-3 col-sm-3 col-xs-12" })
<div class="col-md-8 col-sm-6 col-xs-12">
@Html.TextBoxFor(model => model.User.Email, new { @class = "form-control col-md-7 col-xs-12" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.User.Phone, new { @class = "control-label col-md-3 col-sm-3 col-xs-12" })
<div class="col-md-8 col-sm-6 col-xs-12">
@Html.TextBoxFor(model => model.User.Phone, new { @class = "form-control col-md-7 col-xs-12" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.User.RoleId, new { @class = "control-label col-md-3 col-sm-3 col-xs-12" })
<div class="col-md-8 col-sm-6 col-xs-12">
@Html.DropDownListFor(model => model.User.RoleId, new SelectList(Model.Roles, "Id", "RoleName"), htmlAttributes: new { @class = "form-control col-md-7 col-xs-12", id = "roles" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.User.Note, new { @class = "control-label col-md-3 col-sm-3 col-xs-12" })
<div class="col-md-8 col-sm-6 col-xs-12">
@Html.TextAreaFor(model => model.User.Note, new { @class = "form-control col-md-7 col-xs-12" , style = "min-height:100px !important" })
</div>
</div>
</div>
@Html.HiddenFor(m => m.User.Id)
@Html.HiddenFor(m => m.User.CreateDate)
@Html.HiddenFor(m => m.User.Status)
@Html.HiddenFor(m => m.User.Password)
<div class="col-sm-12 text-center" style="padding-bottom:3px">
<button class="btn btn-default">Yadda Saxla</button>
<a href="@Url.Action("Index","User")" class="btn btn-default">İmtina</a>
</div>
}
用户控制器:
public ActionResult Update(int userId)
{
UserViewModel employeeViewModel = new UserViewModel
{
User = _userService.GetUser(userId),
Roles = _userService.GetRoles()
};
return View(employeeViewModel);
}
[HttpPost]
public ActionResult Update(UserViewModel userViewModel)
{
User user = new User();
user.Id = userViewModel.User.Id;
user.RoleId = userViewModel.User.RoleId;
user.UserName = userViewModel.User.UserName;
user.FirstName = userViewModel.User.FirstName;
user.LastName = userViewModel.User.LastName;
user.MiddleName = userViewModel.User.MiddleName;
user.Email = userViewModel.User.Email;
user.Phone = userViewModel.User.Phone;
user.Note = userViewModel.User.Note;
user.Status = userViewModel.User.Status;
if (userViewModel.User.Id == 0) user.CreateDate = DateTime.Now;
else user.CreateDate = userViewModel.User.CreateDate;
_userService.UpdateEmployee(user);
return RedirectToAction("Index");
}
可以从 Visual Studio 做参考问题吗?因为当我删除
<input type="file" name="file" id="file1" />
本节项目运行良好。我认为问题出在我已经multipart/form-data
为文件上传添加的代码中没有的另一个地方。请帮我解决这个错误。
解决方案
推荐阅读
- maven - Maven 没有正确安装
- c++11 - 无法按值捕获随机引擎
- c - 将 char arr[64] 复制到 char arr[] 会导致分段错误?
- scala - 如何获取 Future[Seq[Person]] 而不是 Seq[Future[Person]]
- php - python中的hmac与PHP和节点中的hmac不匹配
- java - 我想以毫秒为单位获得两个时间之间的时差
- python - 如何使用 python 将传感器数据输出保存到 Microsoft 访问
- python - ImportError:无法导入名称“pybindIETFXMLEncoder”
- spring-mvc - Thymeleaf:从数组中填充复选框
- c# - 如何在图例中显示名称、值和百分比?