我有一个 mvc 4 项目,我需要将数据写入数据库,包括“创建”视图中的图像。
我找到了一些有关如何上传图像的示例。但是这些示例都没有一些额外的输入字段以及 html 文件上传控件。
让我想知道是否可以浏览到图像并填写其他字段并按“发送”按钮,并接收控制器中的所有数据,特别是此方法:
[HttpPost]
public ActionResult Create(FormCollection formCollection)
{
foreach (var key in formCollection.AllKeys)
{
if (key == "file")
{
foreach (string s in Request.Files)
{
HttpPostedFileBase file = Request.Files[s];
if (file.ContentLength > 0)
{
}
}
}
}
}
这是视图:
@using (Html.BeginForm("Create", "Item", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Item</legend>
<div class="editor-label">
Description:
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Description)
@Html.ValidationMessageFor(model => model.Description)
</div>
<div class="editor-label">
Image:
</div>
<input type="file" name="file" id="file" />
<p>
<input type="submit" value="send" />
</p>
</fieldset>
}
Request.Files
在这种情况下总是空的。
我错过了什么?