Распакуйте файл .zstd с помощью машинописного текстаJavascript

Форум по Javascript
Ответить
Anonymous
 Распакуйте файл .zstd с помощью машинописного текста

Сообщение Anonymous »

Я пытаюсь программно распаковать файл .zst с помощью машинописного текста. Это код, который я использую:

Код: Выделить всё

import { createReadStream, createWriteStream } from 'node:fs';
import { createZstdDecompress } from 'node:zlib';
import { pipeline } from 'node:stream/promises';
import { PathLike } from "fs";

export async function decompress_zstd(input: PathLike, output: PathLike) {
const zstdDecompress = createZstdDecompress();
const source = createReadStream(input);
const destination = createWriteStream(output);
await pipeline(source, zstdDecompress, destination);
}

decompress_zstd("./data/scratch/lichess_db_puzzle.csv.zst", "./data/scratch/lichess_db_puzzle.csv")
.catch((err) => {
console.error('An error occurred:', err);
process.exitCode = 1;
});
Это файл, который я пытаюсь распаковать (Прямая загрузка: https://database.lichess.org/lichess_db_puzzle.csv.zst или информационная страница: https://database.lichess.org/#puzzles)
Когда я запускаю функцию распаковки, я получаю следующую ошибку и пустой выходной файл размером 0 байт:

Код: Выделить всё

An error occurred: Error: Unknown frame descriptor
at genericNodeError (node:internal/errors:983:15)
at wrappedFn (node:internal/errors:537:14)
at ZstdDecompress.zlibOnError [as onerror] (node:zlib:190:17) {
errno: 10,
code: 'ZSTD_error_prefix_unknown'
}
Когда я пытаюсь выяснить, почему это может быть причиной, большинство способов устранения неполадок указывает на то, что это проблема с самим файлом (ошибка распаковки Zstd - неизвестный дескриптор кадра), однако я могу нормально распаковать файл с помощью операционной системы, что делает это не так.
Кто-нибудь знает, как это решить?
Спасибо>

Подробнее здесь: https://stackoverflow.com/questions/798 ... typescript
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»