我很确定这不是重复的,所以请耐心等待一分钟。
如何在不使用任何第三方库的情况下以编程方式(C#)压缩文件(在 Windows 中)?我需要一个本地 Windows 调用或类似的东西;我真的不喜欢开始一个过程的想法,但如果我绝对必须这样做,我会的。PInovke 电话会好得多。
如果做不到这一点,让我告诉你我真正想要完成的事情:我需要能够让用户在一个请求中下载一组文档。关于如何做到这一点的任何想法?
您使用的是 .NET 3.5 吗?您可以使用ZipPackage类和相关类。它不仅仅是压缩文件列表,因为它需要您添加的每个文件的 MIME 类型。它可能会做你想做的事。
ZipPackage
我目前正在使用这些类来解决类似的问题,将几个相关文件归档到一个文件中以供下载。我们使用文件扩展名将下载文件与我们的桌面应用程序相关联。我们遇到的一个小问题是不可能只使用 7-zip 之类的第三方工具来创建 zip 文件,因为客户端代码无法打开它——ZipPackage 添加了一个隐藏文件,描述了每个组件文件,如果缺少该内容类型文件,则无法打开 zip 文件。