MyModel
DB にアップロードするいくつかのフィールドといくつかのファイルを含む型を作成するアクションが必要です。これは私のビューの一部です:
@using(Html.BeginForm()) {
<fieldset>
<dl>
<dt>
@Html.LabelFor(model => model.Name)
</dt>
<dd>
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</dd>
<dt>
@Html.LabelFor(model => model.NeededFiles)
</dt>
<dd>
@foreach(var item in Model.NeededFiles) {
<div style="margin:5px;">
@Html.Label(item.Title)
<input type="file" name="@item.Name" />
</div>
}
</dl>
</fieldset>
<input type="submit" value="Create" class="button red" />
}
しかし、アクションの投稿では、ファイルパスを取得するのに問題があります: これは私のアクションです:
[HttpPost]
public ActionResult Create(MyModel ViewModel FormCollection collection, IEnumerable<HttpPostedFileBase> files) {
//....
}
Request.Files
使用できないので、理由がnull
わかりません。また、ファイルIEnumerable<HttpPostedFileBase>
はヌルです。次に、から取得しようとするので、FormCollection
これを使用します:
string filePath = collection.GetValue(item.Name).AttemptedValue;
しかしfilePath
、ファイルパスではなくファイル名を返しただけで、わかりません。ファイルを選択すると、入力にすべてのパスが表示されますが、取得したい場合はファイル名だけが返されます。私の問題はどこですか?あなたの提案は何ですか?