C# &引用;压缩文件夹无效";从Web API终结点返回zip文件时出错
我试图将Json字符串压缩/压缩到一个文件中,并从我的方法返回该文件。 当我尝试打开生成的zip文件时,会收到一条消息,内容是“压缩文件夹无效” 上述方法是从WebAPI端点调用的C# &引用;压缩文件夹无效";从Web API终结点返回zip文件时出错,c#,zip,.net-5,C#,Zip,.net 5,我试图将Json字符串压缩/压缩到一个文件中,并从我的方法返回该文件。 当我尝试打开生成的zip文件时,会收到一条消息,内容是“压缩文件夹无效” 上述方法是从WebAPI端点调用的 [HttpGet] public FileContentResult GetZip() { var file = new ReportsBLL(_context, _logger, _config).GenerateZip(); return File(fil
[HttpGet]
public FileContentResult GetZip()
{
var file = new ReportsBLL(_context, _logger, _config).GenerateZip();
return File(file.FileContents, file.ContentType, file.FileDownloadName);
}
我还使用GZipStream而不是DeflateStream尝试了上面的代码。不要使用utf-8编码。如果您从响应中获得G-ZIP,则只需将字节保存到文件中。您在保存到文件时正在编码,而在读取时没有取消编码。这仍然不会创建有效的Zip文件。查看文件中的标题信息时,它没有显示Zip签名。我一定是遗漏了一些保存为文件的过程。它不是zip。这是GZIP压缩。不要使用utf-8编码。如果您从响应中获得G-ZIP,则只需将字节保存到文件中。您在保存到文件时正在编码,而在读取时没有取消编码。这仍然不会创建有效的Zip文件。查看文件中的标题信息时,它没有显示Zip签名。我一定是遗漏了一些保存为文件的过程。它不是zip。它是GZIP压缩。
[HttpGet]
public FileContentResult GetZip()
{
var file = new ReportsBLL(_context, _logger, _config).GenerateZip();
return File(file.FileContents, file.ContentType, file.FileDownloadName);
}