You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C# .NET Core中获取已重命名GZIP文件的原始文件名

.NET Core中获取GZIP压缩文件的原始文件名
  • .NET Core(包括.NET 7及后续版本)的GZipStream类没有内置直接读取原始文件名的API,官方文档也未提供相关方法。
  • 既然7-Zip能识别出文件名,说明该GZIP文件确实在协议头的预留字段中存储了原始文件名,你可以选择以下两种方案:
    1. 手动解析GZIP文件头:按照RFC 1952规范,GZIP头包含可选的额外字段块,其中就有存储文件名的部分。你需要读取文件的起始字节,按规范解析出该字段内容。
    2. 使用第三方开源库:比如SharpZipLib这类库,已经封装了GZIP头的解析逻辑,能直接获取原始文件名,无需自己编写解析代码。

2010年StackOverflow上的相关方案核心也是手动解析头字段,截至目前.NET官方仍未在GZipStream中添加读取文件名的功能,所以如果想省掉自定义解析的工作量,第三方库是更简便的选择。

内容的提问来源于stack exchange,提问作者danrockcoll

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 13:31:05