问题标签 [gzipstream]
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.
.net - 解压缩二进制文件的 ZLIB 压缩部分
我正在从 .Net 3.5 中读取一个文件(一个 flash swf),该文件的标题表明文件/流的主体是否被压缩。但是,我遇到了问题——在将基本文件流重新包装到 GZipStream 中后,我收到一个异常,指出“GZip 标头中的幻数不正确。请确保您正在传递 GZip 流。”
虽然我可能不了解 SWF 的格式(Adobe 的文档仅声明正文是“使用 ZLIB 开放标准压缩的。ZLIB 库使用的数据格式由 Request for Comments (RFC) 描述)文档 1950 到 1952。”),也可能是我不了解 GZipStream 的工作原理。
所以我的问题是双重的:1)当传递一个已经被读取的父流时,GZipStream 通常会正常工作吗?
2) GZipStream 是否可以处理以这种方式压缩的数据?如果没有,您是否推荐使用其他开源库?
谢谢。
仅供参考,这是相关代码的片段(F#):
c# - 如何在 C# 中解压缩嵌套的 GZip (TGZ) 文件
我收到一个 TGZ 文件,其中包含一个纯文本文件以及一个或多个嵌套的 TGZ 文件。我已经弄清楚如何解压主 TGZ 文件并读取其中包含的纯文本文件,但我无法弄清楚如何识别和解压嵌套的 TGZ 文件。有没有人遇到过这个问题?
此外,我无法控制收到的文件,因此我无法更改包含嵌套 TGZ 文件的 TGZ 文件的格式。另一个警告(尽管我认为这并不重要)是这些文件在 Unix 或 Linux 环境中被压缩和压缩。
提前感谢您的帮助。
wcf - 访问自定义 WCF MessageEncoder 中的请求 HTTP 标头
有谁知道如何在 MessageEncoder.ReadMessage 方法中访问请求 HTTP 标头?似乎 WCF 在调用 ReadMessage 方法时已经“知道”请求标头,至少 Content-Type 和 Content-Length 但我无法访问 Content-Encoding 标头。
基本上,我正在尝试对 WCF 服务 ( http://msdn.microsoft.com/en-us/library/ms751458.aspx ) 使用 gzip 解压缩/压缩,并想检查传入请求是否需要解压缩。为此,我想检查 Content-Encoding 标头,但无法弄清楚从哪里获得它。有任何想法吗?
谢谢!
.net - .NET GZipStream 和磁盘空间不足异常
我正在使用以下代码写入我每次创建新的压缩文件。
但是,当我运行它时,我收到一个带有“磁盘空间不足”消息的 IOException。但是,我正在写入文件的驱动器上有 19GB 的可用空间。
根据 GZipStream 的文档,它不能用于写入大于 4GB 的文件。但是,到目前为止写入的文件大小只有 250MB。
这是一个例外:
类型:System.IO.IOException 异常消息:磁盘空间不足。
内部异常: StackTrace:在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count) at System.IO.FileStream.FlushWrite(Boolean callFromFinalizer) 在 System.IO.FileStream.Dispose(Boolean disposing) 在 System.IO.Stream.Close() 在 System.IO.Compression.DeflateStream.Dispose(Boolean disposing) 在 System.IO.Stream.Close() 在 System .IO.Compression.GZipStream.Dispose(Boolean disposing) at System.IO.Stream.Close() at System.IO.StreamWriter.Dispose(Boolean disposing) at System.IO.StreamWriter.Close()
此外,这不是网络文件。
有什么想法我在这里做错了吗?
.net - 使用 deflatestream 在 .NET (Vb) 中使用压缩数据执行 HTTP Post
我从 VB.Net 客户端发布的数据很大,我想压缩。我想做一个“POST”并且 apache 服务器支持 mod_deflate。我正在尝试将 DeflateStream 集成到我的邮政编码中,但似乎不起作用。
我可以使用标准代码在不压缩的情况下发送数据。
但是我不确定如何使用 Deflate Stream 添加压缩。我最好的猜测是以下,但我认为它不起作用。
问题。
- 我是否应该发送压缩流的 ContentLength,如果是,我该如何获得。
- 我应该写入数据流还是压缩?
- 这就是你如何一起使用 DataStream 和 DeflateSram 的吗?
- 在服务器端,考虑到 apache 应该自动处理膨胀,我怎么知道它正在工作(到目前为止,我知道在上面使用的两种方法之间我的帖子没有节省时间)。
weblogic - 如何验证网页是否被 gzip 压缩?
我计划配置 weblogic 的 gzip servlet 过滤器(使用 weblogicx-gzip.jar)来 gzip 我的网页。
如何验证页面是否被发送到 gzip 压缩的客户端?
c# - 用 c# 压缩
我正在尝试使用 GZipStream 使用 c# 创建一个 gz 文件。我的问题是我有一个包含字符串的列表。我需要创建一个受密码保护的 zip 文件,并在其中放入一个包含字符串的文本文件。
我不想创建文本文件,然后压缩它,然后删除文本文件。我想直接创建一个包含文本文件的受密码保护的 zip 文件。
有什么帮助吗?
编辑:我已经完成了拉链的工作。现在我需要为创建的 zip 文件设置一个通行证。有什么帮助吗?
c# - 如何获取 .zip 内容的类型和数量
如何在 C# 中获取压缩文件夹的内容名称,即压缩文件夹中的文件和文件夹的名称?我想仅使用 GZipStream 解压缩 zip。
谢谢,卡皮尔
c# - GZIP Java 与 .NET
使用以下 Java 代码将 bytes[] 压缩/解压缩到 GZIP。第一个文本字节到 gzip 字节:
然后以另一种方式将字节压缩为未压缩字节的方法:
认为有什么影响,因为我没有写出一个 gzip 文件?
我还注意到,在标准 C# 函数中,BitConverter 读取前四个字节,然后调用 MemoryStream Write 函数,起点为 4,输入缓冲区长度为 4。那么这会影响标头的有效性吗?
吉姆
c# - 加载压缩文件流的特定部分
我们有一个简单的二进制文件格式用于在我们的应用程序(C# .NET Windows 应用程序)中缓存数据。该格式基本上是一个简短的指示对象类型,后跟对象 id 的 guid(字符串),然后是任何对象特定数据(字符串 int 等等)。我们希望能够在同一个文件(> 10000)中存储许多对象,但在某些情况下只能按需加载。我们的解决方案是在文件中保留对象位置的索引 - 所以当我们开始编写新对象时,我们会在文件流中记录对象开始的位置。当我们要加载这个对象时,我们使用这个索引位置来加载相关数据。这工作正常。
但是,如果我们要压缩文件,这种方法仍然可行吗?我对压缩是如何工作的,特别是我们计划使用的 GZipStream 类 (System.IO.Compression) 不太感兴趣。据我了解,此类不支持 Seeking 或 Position 属性。是否仍然可以使用底层 FileStream 的 Seek 和 Position (我猜不是)?基本上,是否有可能拥有一个我们可以选择性地从中加载的压缩文件,如果可以,我们该怎么做?
谢谢,
史蒂夫