У меня есть форма, отправляющая данные POST в Action, и модель имеет поле HttpPostedFile, но когда я отправляю данные формы в Action, я просто получаю нулевое значение HttpPostedFile Field.
Это мой Модель:
public class MemberModel
{
[DisplayName("Member Name")]
public string Name { get; set; }
[DisplayName("Telephone / Mobile Number")]
public string PhoneNumber { get; set; }
[DisplayName("Upload File")]
public string ImagePath { get; set; }
public HttpPostedFile ImageFile { get; set; }
}
Это мое действие:
public ActionResult ContactForm(MemberModel membervalues)
{
//Use Namespace called : System.IO
string FileName = Path.GetFileNameWithoutExtension(membervalues.ImageFile.FileName);
//To Get File Extension
string FileExtension = Path.GetExtension(membervalues.ImageFile.FileName);
//Add Current Date To Attached File Name
FileName = DateTime.Now.ToString("yyyyMMdd") + "-" + FileName.Trim() + FileExtension;
//Get Upload path from Web.Config file AppSettings.
string UploadPath = ConfigurationManager.AppSettings["UserImagePath"].ToString();
//Its Create complete path to store in server.
membervalues.ImagePath = UploadPath + FileName;
//To copy and save file into server.
membervalues.ImageFile.SaveAs(membervalues.ImagePath);
//To save Club Member Contact Form Detail to database table.
var db = new ClubMemberDataClassesDataContext();
tblMember _member = new tblMember();
_member.ImagePath = membervalues.ImagePath;
_member.MemberName = membervalues.Name;
_member.PhoneNumber = membervalues.PhoneNumber;
db.tblMembers.InsertOnSubmit(_member);
db.SubmitChanges();
return View();
}
Это моя форма просмотра:
<div class="form-group">
@Html.LabelFor(model => model.ImagePath, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
<input type="file" name="ImageFile" required />
</div>
</div>
И этот результат, пока я пытаюсь загрузить файл изображения: