在mvc3应用程序中,Product具有字符串类型中的ImagePath1,ImagePath2,ImagePath3,ImagePath4和ImagePath5属性。 我可以在此规则中保存1张图片。 对于1个图像,在控制器中:
public ActionResult Create( Product product, HttpPostedFileBase file )
{
var filename = Path.GetFileName( file.FileName );
var path = Path.Combine( Server.MapPath( "~/UploadFolder/Products" ), filename );
file.SaveAs( path );
product.ImagePath1 = filename;
db.Products.AddObject( product );
db.SaveChanges();
}
我有文件上传样本:
<script type="text/javascript">
function HandleFileButtonClick() {
document.frmUpload.myFile.click();
document.frmUpload.txtFakeText.value = document.frmUpload.myFile.value;
}
</script>
<form name="frmUpload">
<input type="file" name="myFile" style="display: none;">
<input type="text" name="txtFakeText" readonly="true">
<input type="button" onclick="HandleFileButtonClick();" value="Select" class="UploadButton">
</form>
但我不能在Product的创建视图中应用。
@using ( Html.BeginForm( "Create", "Product", FormMethod.Post, new { enctype = "multipart/form-data" } ) )
{
@Html.TextBoxFor( m => m.Name, new { @class = "createInputStyle" } )
...
...// Images here...
...
<input type="submit" value="Create" class="" />
}
文件上传示例在外面工作,但是当我将上传表单放入Create表单时,有问题。 如何保存更多图像?抱歉英语不好。
答案 0 :(得分:2)
将以下内容粘贴在Html.BeginForm(){}
中<input type='file' name='ImagePath1' />
<input type='file' name='ImagePath2' />
<input type='file' name='ImagePath3' />
<input type='file' name='ImagePath4' />
<input type='file' name='ImagePath5' />
然后,在您的控制器上,选中Request.Files
,它应该包含这些图像(提供图像已上传)