【发布时间】:2019-03-06 16:25:45
【问题描述】:
我发现了一个类似的问题 (Error: incorrect header check at Zlib._handle.onerror (zlib.js:355:17) errno: -3, code: 'Z_DATA_ERROR'),但尚未得到解答。我也没有在 Google 论坛上看到任何内容。
背景:
- 我将 zlib 移植到我的项目中
- 我没有文件系统,因此向 compress() 提供了一个构造为 JSON 字符串的报告。
- 我知道 JSON 字符串是可以接受的,因为如果我在不压缩的情况下发布它,一切正常。
- 我正在以最简单的形式使用 zlib(请参阅 Using zlib deflateBound() dynamically)
- 如果我进行自我检查(即,我没有将压缩消息发送到服务器,而是将其输入 deflate,然后将输出与原始消息进行比较),一切看起来都很好。
症状
- 我对 POST 的响应是 {"status":400,"error":"incorrect header check"}
-
服务器团队告诉我错误是由 gunzip 引发的,所以我假设问题出在 gzip 标头,而不是 HTTP 标头。
消息:“{ 错误:不正确的标头检查 在 Gunzip.zlibOnError (zlib.js:153:15) 错误号:-3, 代码:'Z_DATA_ERROR', 暴露:真实, 状态码:400, 状态:400 }"
这是否需要两端的魔法设置?我没有找到一个谷歌文档说“使用这些设置进行压缩(并不是说 zlib 有很多设置)
编辑:我看到的所有内容都提到了压缩文件。事实上,如果您查看 gzip 标头,我看到的几个示例都显示了一个文件名。在我的例子中,没有文件或文件名,compress 对内存中的字符串起作用,我们直接发送生成的二进制数组。我不确定这是否会有所作为。
【问题讨论】:
标签: google-cloud-platform zlib