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