Строка fileName возвращает `null` - PullRequest
0 голосов
/ 02 марта 2020
public ActionResult Create([Bind(Include = "studentID,Full_Name, DateOfBirth,MembershipID,Contact_Number,Emergency_Name,Emergency_Number,Expiry,Notes,ImagePath,ImageFile")] Student student)
    {
        if (student != null && student.ImageFile != null)
        {
            string fileName = Path.GetFileNameWithoutExtension(student.ImageFile.FileName);
            string extension = Path.GetExtension(student.ImageFile.FileName);
            fileName = fileName + DateTime.Now.ToString("yymmssfff") + extension;
            student.ImagePath = "~/Image/" + fileName;
            fileName = Path.Combine(Server.MapPath("~/Image/"), fileName);
            student.ImageFile.SaveAs(fileName);
        }

        db.Students.Add(student);
        db.SaveChanges();

my string fileName возвращает null, по какой-то причине это работало, но я обновил базу данных после того, как она возвращает null Это мое мнение

@using (Html.BeginForm("Create", "Students", FormMethod.Post, new { enctype="multipart/form-data" }))
{
@Html.AntiForgeryToken()

<div class="form-horizontal">
<h4>Student</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
    @Html.Label("Student Image", htmlAttributes: new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        <input type="file" name="ImageFile" />
    </div>
</div>

Не уверен почему это происходит, когда я переписал код еще раз, чтобы быть уверенным, но он все еще возвращает null

1 Ответ

0 голосов
/ 02 марта 2020

Проблема была в моем классе ученика, у меня было

 public HttpPostedFile ImageFile { get; set; }

Когда я должен был

 public HttpPostedFileBase ImageFile { get; set; }

глупая ошибка с моей стороны

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...