Как вы указали в своем комментарии, вы используете Html.Beginform("Contact", "Home", FormMethod.Post
Однако могу ли я предложить следующее, так как при отправке изображений в методы контроллера он, кажется, работает нормально.
@using ("Contact", "Home", FormMethod.Post, new {enctype = "multipart/form-data"})
{
// form things blah blah blag
// When it comes to inputting the image file, I suggest you do the following
// Instead of this @Html.TextBoxFor(m => m.File, new { type = "file", accept="image/*" })
// Have
<input type="file" name="file" id="fileUpload" accept=".png, .jpg, .jpeg"/>
}
Тогда вы будете использовать метод контроллера, чтобы отразить эти изменения:
public ActionResult Contact(ContactViewModel model, HttpPostedFileBase file)
{
var Image = file.FileName;
}
Так что же мы здесь делаем?
Мы создаем форму, подобную той, которую вы делали раньше, но мы добавляем дополнительный параметр, который определяет, как форма должна кодироваться при передаче ее в контроллер.
<input type="file" name="file" id="fileUpload" accept=".png, .jpg, .jpeg"/>
Здесь мы говорим, что будет вход с именем 'file', который может принимать png, jpg или JPEG изображения.
HttpPostedFileBase file
Это файл, который мы будем передавать. name
должно совпадать с именем name
во входных тегах