创建Zip文件时出错

时间:2018-03-08 20:33:23

标签: c# asp.net-mvc zip

我正在使用Ionic.Zip库将所有文件压缩到一个文件夹中,所以我这样做:

using (ZipFile zip = new ZipFile())
{
     foreach(var i in consultaPDF)
     {
         var fileRoute = carpeta + i.vRutaArchivo;
         zip.AddFile(fileRoute, "Document");
     }

     zip.Save(Response.OutputStream);
}

我想要做的只是下载zip文件。我不想保存它。我怎么才能下载它?此致

我将其更改为:

  using (ZipFile zip = new ZipFile())
            {
                    foreach(var i in consultaPDF)
                    {
                        var fileRoute = carpeta + i.vRutaArchivo;
                        zip.AddFile(fileRoute);
                    }
                    MemoryStream output = new MemoryStream();
                    zip.Save(output);
                    return File(output, "application/zip", "sample.zip");

            }

正确下载了Zip,但是当我尝试打开它时:

  

文件格式未知或已损坏

1 个答案:

答案 0 :(得分:1)

您需要在将zip保存到

后重置流位置以启动
using (ZipFile zip = new ZipFile())
{
    foreach(var i in consultaPDF)
    {
        var fileRoute = carpeta + i.vRutaArchivo;
        zip.AddFile(fileRoute);
    }
    MemoryStream output = new MemoryStream();
    zip.Save(output);
    output.Seek(0, SeekOrigin.Begin);
    return File(output, "application/zip", "sample.zip");
}
相关问题