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