У меня возникают проблемы с загрузкой файла (HTTPPostedFile) и объектом, отправленным в действие. У меня есть класс с именем виджета:MVC3 :: Передача объекта и HttpPostedFile в действии
public class Widget
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string FilePath { get; set; }
}
и в контроллере виджет У меня есть «Добавить» метод
public ActionResult Add()
{
return View();
}
и перегруженный метод, чтобы принять то, что посты пользователя назад
[HttpPost]
public ActionResult Add(Widget widget, HttpPostedFile file)
{
// Save posted file using a unique
// Store the path/unique name in Widget.FilePath
// Save new Widget object
return View();
}
и на вид У меня есть следующее:
@model Project.Models.Widget
@{
using(Html.BeginForm())
{
Html.LabelFor(model => model.FirstName)<br />
Html.TextBoxFor(model => model.FirstName)<br />
Html.LabelFor(model => model.LastName)<br />
Html.TextBoxFor(model => model.LastName)<br />
<input type="file" id="file" /><br />
<input type="submit" value="Save" />
}
}
Что я хочу сделать, так это заполнить форму и выбрать файл для загрузки. После того, как файл загружен, я хочу сохранить файл с помощью уникального имени, а затем сохранить путь к файлу в виде widget.FilePath.
Каждый раз, когда я пытаюсь, объект виджета заполняется, но uploadedFile имеет значение NULL.
Любая помощь была бы принята с благодарностью.
HttpPostedFileBase - это был мой вопрос –