当我上传多个文件(每个 blueimp jquery 文件上传)时,每个文件都会输入一次 [httppost] 操作。是否可以使用枚举文件容器指定一个且只有一个回发以进行迭代?
看法:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="@Url.Content("~/Scripts/jquery.ui.widget.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.iframe-transport.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.fileupload.js")" type="text/javascript"></script>
<input id="fileupload" type="file" name="files" multiple="multiple"/>
控制器:
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(IEnumerable<HttpPostedFileBase> files)
{
// This is posted back for every file that gets uploaded...I would prefer it only post back once
// with a collection of files to iterate. Is this possible?
foreach (var file in files) // There is only ever one file in files
{
var filename = Path.Combine(Server.MapPath("~/App_Data"), file.FileName);
file.SaveAs(filename);
}
return View();
}