Я нашел похожий вопрос ( Ошибка: неверная проверка заголовка в Zlib._handle.onerror (zlib.js: 355: 17) errno: -3, код: 'Z_DATA_ERROR' ), но это не имеетответилиНа форумах Google я тоже ничего не видел.
background:
- Я портировал zlib в свой проект
- У меня нет файловой системы, поэтому сожмите () подается отчет, построенный в виде строки JSON.
- Я знаю, что строка JSON является приемлемой, поскольку, если я отправлю ее без сжатия, все будет работать.
- Я использую zlib в его простейшей форме (см. Динамическое использование zlib deflateBound () )
- Если я делаю самопроверку (т. Е. Вместо отправки сжатого сообщения на сервер, я передаю его в deflate, а затем сравниваю вывод с оригиналом)все выглядит хорошо.
Симптомы
- Ответ, который я получаю на POST: {"status": 400, "error": "проверка заголовка неверна"}
Команда сервера сообщает мне, что ошибка генерируется gunzip, поэтому я предполагаю, что проблема связана с заголовком gzip, а не с заголовком HTTP.
сообщение: "{Ошибка: невернопроверка заголовка в Gunzip.zlibOnError (zlib.js: 153: 15) err№: -3, код: 'Z_DATA_ERROR', expose: true, statusCode: 400, status: 400} "
Есть ли какая-то магическая настройка на обоих концах, которая необходима для этого?Я не нашел документ Google, в котором говорится "используйте эти настройки для сжатия (не то чтобы в zlib было много настроек)
Редактировать: все, что я вижу, упоминает сжатие файлов . На самом деле несколькоВсе примеры, которые я видел, показывают имя файла, если вы посмотрите в заголовок gzip. В моем случае нет файла или имени файла, сжатие работает со строкой в памяти, и мы отправляем результирующий двоичный массив напрямую. Я не уверен, что это делаетразница.