我在获取上传的文件 (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。
每次我尝试时,都会填充小部件对象,但 uploadFile 为空。
任何帮助将不胜感激。