2

我需要在单个 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。

如何解决这个问题?谢谢。

4

0 回答 0