2

我在下面的代码中尝试做的是从 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");
4

0 回答 0