アップロードされたファイル(HTTPPostedFile)とアクションに投稿されたオブジェクトの取得に問題があります。私はwidgetというクラスを持っています:
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です。
どんな助けでも大歓迎です。