我需要在单个 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。
如何解决这个问题?谢谢。