C# &引用;压缩文件夹无效";从Web API终结点返回zip文件时出错

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

我试图将Json字符串压缩/压缩到一个文件中,并从我的方法返回该文件。 当我尝试打开生成的zip文件时,会收到一条消息,内容是“压缩文件夹无效”

上述方法是从WebAPI端点调用的

    [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);
    }