问题标签 [sharpziplib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1196 浏览

c# - 使用 SharpZipLib 更新 zip - 如果条目名称包含文件夹,那就不好了

这是我更新现有 zip 的代码,调用者传入 ZipFile 并有一个 finally 块来关闭 zipfile。

如您所见,我正在将条目添加到 zip 中,并将条目名称设置为 zip 文件夹层次结构的特定部分。

我们这样做是为了将产品注入到“框架”网络包中——该框架支持松散耦合的产品。

结果 zip 很好,我可以在 Windows 中导航它,我可以提取它...但是 MSDeploy 出现了,并且在任何新条目导致添加 zip 文件夹层次结构时,我从 msdeploy 收到错误,说它无法打开zip - 但仅在特定的情况下,即 zip 没有完全损坏,它只是 msdeploy 开始导航完成“新”文件夹的地方。

现在,如果我提取更改的 zip,然后重新压缩它(使用 7zip),并要求 msdeploy 对此执行 - 没问题,它可以工作。

所以 - 这是 SharpZipLib,还是我在添加到 zip 文件夹层次结构时做错了什么?

0 投票
0 回答
143 浏览

sharpziplib - 如何在 csharp 中压缩带有日文名称的文件?

我正在使用“ICSharpCode.SharpZipLib.Zip”命名空间来压缩文件。我想压缩一些带有日文名称的文件。当我使用 ZipOutputStream 压缩时,我得到了垃圾文件名。有人可以帮忙吗?

0 投票
1 回答
2237 浏览

c# - 在内存流中解压缩文件(odt 或 docx)

我一直在使用 Asp.Net 开发 Web 应用程序,并且正在使用 SharpZipLib 处理 odt 文件(来自 Open Office)和未来的 docx 文件(用于 ms office)。我需要打开一个 odt 文件(如 zip 文件)更改其中的 xml 文件,再次压缩并将其提供给浏览器发送给我的客户端。

我可以在文件系统中执行此操作,但它会暂时在我的磁盘中获得空间,我们不想要它。我想在内存中执行此操作(使用 MemoryStream 类),但我不知道如何使用 SharpZipLib 解压缩内存流中的文件夹/文件,更改并使用它再次压缩。有没有关于如何做到这一点的样本?

谢谢

0 投票
1 回答
8102 浏览

c# - SharpZipLib 检查并选择 ZIP 文件的内容

我在一个项目中使用 SharpZipLib,我想知道是否可以使用它来查看 zip 文件,如果其中一个文件在我正在搜索的范围内修改了数据,然后选择该文件并复制它到一个新目录?有人知道这可能吗?

0 投票
1 回答
1358 浏览

c# - 如何在 C# 中将 ProgressBar 添加到我的 SharpZipLib 实用程序

我需要在我的项目中包含一个进度条,但我不确定如何操作或如何成功调用将要更新的方法。我要包含的代码如下,非常感谢:

0 投票
1 回答
10459 浏览

c# - SharpZipLib 使用内存中的字符串创建存档并作为附件下载

我使用 DotNetZip 创建一个带有内存字符串的 zip 存档,然后使用以下代码将其作为附件下载。

现在我需要对 SharpZipLib 做同样的事情。我该怎么做 ?SharpZipLib 是否支持将文件添加为字节数组?

0 投票
3 回答
30918 浏览

c# - 使用 SharpZipLib 将文件添加到没有路径的 ZIP

我需要将 3 个文件合并为 1 个 zip 文件,并使其可供用户下载。我能够满足我的要求,除了一件事:它将文件压缩到子文件夹中。

例如,我的文件位于以下位置:

但在 zip 文件中,它使用“TTCG\WebSites\Health\”作为路径来压缩文件夹中的文件。请看附件。

例子

我不想要路径中的文件夹。我只想要 zip 文件中没有文件夹的 3 个文件。我怎样才能做到这一点?

我生成 zip 文件的代码如下:

0 投票
2 回答
854 浏览

c# - ICSharpZipLib - 解压缩文件问题

我在 ASP.NET 中有一个应用程序,用户可以在其中上传 ZIP 文件。我正在尝试使用 ICSharpZipLib 提取文件(我也尝试过 DotNetZip,但遇到了同样的问题)。

此 zip 文件包含单个 xml 文档(压缩前 9KB)。

当我使用桌面上的其他应用程序(7zip、Windows 资源管理器)打开此文件时,它似乎没问题。我的 unzip 方法抛出 System.OutOfMemoryException,我不知道为什么会这样。当我调试我的解压缩方法时,我注意到 zipInputStreams 的 Length 属性抛出异常并且不可用:

以下是我获取 unzippedStream 字符串的方法:

0 投票
1 回答
715 浏览

asp.net - 如何删除 zip 文件中的文件夹路径。我只想要 zip 文件中的 txt 文件

我正在从文件夹中生成一个 zip 文件 D:\Nagaraj\Dotnet\Zipfile\Zipfile\Filebuild\Hi。文件夹中有2个txt文件。

但问题是 zip 文件中有路径D:\Nagaraj\Dotnet\Zipfile\Zipfile\Filebuild\Hi,而文件夹中有 2 个 txt 文件。

现在我需要删除路径D:\Nagaraj\Dotnet\Zipfile\Zipfile\Filebuild\Hi并直接Hi.zip在存档的根目录中生成带有 2 txt 文件的文件。我正在使用 SharpZipLib 创建存档。

0 投票
2 回答
1480 浏览

c# - SharpZipLib 无法使用 StreamWriter 将文本写入新创建的 csv 文件

我似乎无法通过 StreamWriter 将文本写入新创建的 zip 文件(不是 gzip)。我使用 SharpZipLib,但不太明白如何让它工作。DJ Kraze 帮助我将压缩文本文件中的内容流式传输到 StreamReader,我现在尝试相反。我不想先创建一个 csv 文件,然后压缩最终文件,而是想将文本直接流式传输到 zip 容器中要创建的 csv。那可能吗?在我用于获取可与 StreamReader 一起使用的流的片段下方,它只是给出了我在寻找什么的想法,只是这次我想获取与 StreamWriter 一起使用的流。

这是我使用它的方式,我基本上是在寻找它,但反过来(StreamWriter -> 新 zip 容器中的新 csv 文件):