问题标签 [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 投票
2 回答
11149 浏览

c# - ICSharpCode.SharpZipLib 验证 zip 文件

使用 C# 的 ICSharpCode.SharpZipLib,我如何验证所传递的文件实际上是一个有效的 zip 文件(不是被右键单击并重命名为 .zip 的文件)?

0 投票
1 回答
2072 浏览

azure - 使用 Azure Web 角色解压缩文件并将内容上传到 Blob 存储

我目前有一个显示网页的 Web 角色,该网页允许用户从他们的计算机中选择一个文件,然后 Web 角色将文件上传到一些 Azure Blob 存储。

但是,用户通常上传的文件是 zip 文件,所以我想解压缩文件并提取内容,然后将内容上传到 Azure Blob 存储。

我试图通过使用我在这里找到的 SharpZipLib 示例来做到这一点

http://blog.logiclabz.com/c/unzip-files-in-net-c-using-sharpziplib-open-source-library.aspx

我已经为 ICSharpCode.SharpZipLib.dll 文件和 ZipOperations.dll 添加了对我的 Web 角色的引用,但是我仍然收到以下错误;在此处输入图像描述

我感到困惑的另一件事是当我调用 UnZipFile(...); 我正在上传的文件的目录是什么,它是选择文件的表单的 ID。

在此先感谢,萨米。

0 投票
4 回答
42231 浏览

c# - 无法加载文件或程序集 ICSharpCode.SharpZipLib... 使用 nuGet 包 ExcelDataReader 时

错误:

无法加载文件或程序集 'ICSharpCode.SharpZipLib, Version=0.85.5.452, Culture=neutral, PublicKeyToken=1b03e6acf1164f73' 或其依赖项之一。系统找不到指定的文件。`

堆:

[FileNotFoundException:无法加载文件或程序集“ICSharpCode.SharpZipLib,版本=0.85.5.452,文化=中性,PublicKeyToken=1b03e6acf1164f73”或其依赖项之一。系统找不到指定的文件。]
Excel.Core.ZipWorker.Extract(Stream fileStream) +0
Excel.ExcelOpenXmlReader.Initialize(Stream fileStream) +78

[Asp.Net Mvc3 C#]

使用 NuGet 包 ExcelDataReader,我尝试简单地打开保存在文件系统上的 .xlsx 文件。这是使用的代码:

这是 nuget 包的网站: http ://exceldatareader.codeplex.com/

是什么赋予了?这应该可以顺利进行。

0 投票
1 回答
3122 浏览

c# - C# 网络流压缩 - Sharpziplib、DotNetZip、gzipstream 都在我的流上给出错误

我有一对使用网络流进行通信的 C# 客户端-服务器程序。一切正常,因为它没有压缩。现在我想降低带宽使用率,所以我想在我的网络流周围使用压缩包装流。

我已经尝试过 SharpZipLib、DotNetZip、C# 自己的 GZipStream——但我无法让它们中的任何一个工作。

SharpZipLib 有刷新问题,并应用此处指定的修复:http: //community.sharpdevelop.net/forums/p/7855/22139.aspx导致异常“标题校验和非法”。

使用 DotNetZip 的 DeflateStream 会导致 ZLibException("Bad state (invalid stored block lengths)");

GZipStream 给了我一个 System.IO.InvalidDataException 说明“GZip 标头中的幻数不正确。确保您传递的是 GZip 流。”。

我实现它的方式是,每当我的框架必须发送一个字节数组时,我都会在现有网络流周围创建一个新的压缩流包装器,将字节写入压缩流,然后刷新、关闭和处置它. 这是为了确保每个 WriteMessage(byte[] blah) 都使用它自己的独立于状态的压缩流,该压缩流将立即被刷新。我已经注意不要让任何流关闭原始网络流。

基本上,我的 DecompressionStream 创建如下(可选注释掉)

并开始

然后在 ReceiveCallback 中,读取数据,刷新、关闭和处理流:

并通过再次调用 CreateInputStreamWrapper 立即创建一个新的 inputStream。

发生什么了 ?由于所有压缩流实现都失败,错误归结为“数据流中有错误”,我有一种预感,一定是我和我的代码。另一方面,如果我删除压缩并只使用网络流就没有问题,这让我认为问题一定出在压缩代码上。

这听起来很熟悉吗?当我们在做的时候,有没有人知道任何(其他)适合环绕网络流的压缩流实现?

0 投票
2 回答
13030 浏览

c# - 从内存中的多个文件创建 zip

我正在尝试使用 SharpZipLib 生成 zip 文件并让客户端下载它。

当前 zip 文件夹已创建并可在客户端计算机上使用,但问题是 download.zip 文件夹为空白。文件夹中指定的文件在 zip 文件夹中不可用。

下面是我试过的代码。

谁能告诉我是什么问题?为什么文件在 .zip 中不可用

0 投票
1 回答
4878 浏览

c# - 如何在 c# 中使用 SharpZibLib 在 zip 中添加文件

我正在尝试使用 c# 中的 sharpZibLib 将文件添加到现有的 zip 中。当运行 zip 得到 qverwrite 即 zip 中的所有文件都被删除并且只有新文件存在于 zip 中。

谁能告诉我上面代码中的问题是什么?为什么拉链会被过度使用

0 投票
5 回答
8927 浏览

c# - SharpZipLib 压缩字符串

我需要压缩一个字符串以减小 Web 服务响应的大小。我在 SharpZipLib 示例中看到了单元测试,但并不是我所需要的示例。

在以下代码中,ZipOutputStream 的构造函数返回异常:“No open entry”

我在哪里偏离了轨道?我是否让这比它应该的更复杂?

0 投票
2 回答
2239 浏览

windows-phone-7 - 如何使用 SharpZipLib 解压缩 deflate 流(不是 gzip)?

我正在 Windows Phone 上开发一个应用程序,并尝试通过 HTTP GET 方法从 Web 服务器获取数据,响应中的内容编码字段表明数据是通过 deflate 算法压缩的。

我找到了有用的库 SharpZipLib,它可以用 GZipInputStream 处理 gzip 流,但它不适用于 deflate 流。

如何使用 SharpZipLib 抑制流?或者有没有其他方法可以解决这个问题?

非常感谢!

0 投票
1 回答
3533 浏览

c# - 在不应使用 zip 时使用 ICSharpCode.SharpZipLib.Zip 子文件夹

我正在使用图书馆ICSharpCode.SharpZipLib.Zip

我的代码如下:

  • 路径是根。\\ALAWP\\THIS\\ACORD\\
  • 我将它们压缩到ZIPDirectory

但是,当它完成时,文件没有被命名acord_combined.txt,而是被称为ACORD\acord_combined.txt

我究竟做错了什么?

0 投票
1 回答
3012 浏览

c# - 我应该在 SharpZipLib 中选择哪种压缩类型?

我有一个发送文件和文件夹的文件传输应用程序。(服务器 - 客户端)
我正在尝试通过 TCP(套接字)发送数据,我已经为传输数据的方式制定了一些规则,所以如果它发送一个包含许多文件的大文件夹,它应该将它们压缩成一个首先是 zip 文件,然后在发送该 zip 文件时,接收方必须对其进行解压缩。所以我决定使用SharpZibLib,我对此有疑问。

  • 我应该为我的应用程序选择哪种类型的压缩?
    我阅读了 ZIP 和 GZIP 之间的区别,发现 GZIP 具有更好的压缩以减小大小,并且由于我以后不需要从 GZIP 文件中提取特殊文件,因此无需使用 ZIP 代替 GZIP!
    但是在那个库中有很多我仍然不知道的类型,所以我应该使用 GZIP 还是其他类型更适合我的应用程序?

    在此处输入图像描述

    PS: 时间优先,使用SharpZipLib的重点是将(太多文件)放在一个文件中,这样发送速度会比一个一个发送(太多文件)快得多。
    更多细节在这里