【发布时间】:2018-01-19 13:58:37
【问题描述】:
我想处理下载到内存中的 ZIP 文件的内容(不使用硬盘!)。 packageStream 包含 ZIP 文件的字节。
MemoryStream packageStream = // Stream of downloaded ZIP file
var zipPackage = System.IO.Packaging.Package.Open(packageStream, FileMode.Open, System.IO.FileAccess.Read);
var parts = zipPackage.GetParts();
var rels = zipPackage.GetRelationships();
parts 和 rels 不包含任何项目。
谁能告诉我我做错了什么?
MemoryStream 是错误的流类型吗?
Package 类是 此 场景中 ZIP 文件的错误类吗?
如果您能告诉我任何替代方案,请不要使用第三方项目。
谢谢!
更新
This 重复问题中的答案解决了我的问题(ZipArchive 类)。接受的答案使用第三方项目。
【问题讨论】:
-
“MemoryStream 是错误的流类型吗?” 为什么不直接将其保存到文件中然后尝试打开它(仅用于测试目的)?
-
@AleksAndreev 已成功测试。
标签: c# zip memorystream