我需要在单个zip文件中添加多个文件,然后上传包含该集合的所有项目的单个文件。所以这是我的观看代码:
@Html.Telerik().Upload().Name("attachments").ShowFileList(true).Async(a =>
{
a.Save("AddDocumentToZipFile", "Client");
a.Remove("Remove", "Client");
}).Multiple(true))
我的行动:
public ActionResult AddDocumentToZipFile(IEnumerable<HttpPostedFileBase> attachments)
{
AddFile(attachments.ToList());
return Content("");
}
public void AddFile(List<HttpPostedFileBase> attachments)
{
var fileName = Guid.NewGuid().ToString();
var zipFile = new ZipFile(fileName);
foreach (var image in attachments)
{
zipFile.AddFile(image.FileName, string.Empty);
}
}
但是当我调试并选择多个文件时,即使我把IENumerable作为参数,也会为每个文件执行Action,然后AddFile方法为每个文件创建一个zipfile。
如何解决这个问题? 感谢。