带有zip文件的c#dotnetzip memorystream

时间:2012-12-20 15:29:29

标签: c# memorystream dotnetzip

我在下面的代码中尝试做的是从memoryStream中打开一个zip文件,其中包含从memoryStream创建的文件。

请注意,我使用的是c#MVC,因为我有一个返回文件...

memoryStream1确实有一个长度,所以不确定当我打开archive.zip时,它说

Excel无法打开payload.xlsx,因为文件格式或文件扩展名无效。 验证文件是否已损坏且文件扩展名是否匹配 文件的格式。

文件扩展名绝对是xlsx所以这不是问题所在。我是以错误的方式解决这个问题吗?

我有以下代码:

    var memoryStream1 = new MemoryStream();
    gc.CreatePackage(memoryStream1);

    var memoryStream = new MemoryStream();

    using (var zip = new ZipFile())
    {
      zip.AddEntry("payload.xlsx", memoryStream1);
      zip.Save(memoryStream);
    }

    memoryStream.Seek(0, 0);
    return File(memoryStream, "application/octet-stream", "archive.zip");

0 个答案:

没有答案