【发布时间】:2018-02-07 18:11:47
【问题描述】:
我正在从远程服务器下载.csv.gz 文件,我将此文件的内容存储为字符串。这是我console.log它时看到的一小部分示例:
�}�v������)��t�Y�j�8p0�eCR��
l��1�=���6������~̵r�����0c7�7L���������U:���0�����g��
如何在 Node.js 中解压缩它,以便将其转换为原始 .csv 文件?
我尝试了zlib.gunzip(Buffer.new(body), callback),但随后出现错误
Gunzip.zlibOnError (zlib.js:152:15) 中的标头检查不正确
文件本身是有效的,我可以双击解压在我的电脑上打开。
我使用以下命令创建文件:zlib.createGzip(); 然后gzip.pipe(writeStream);
更新
(实际)问题是我的数据是 utf8 编码的,因此我需要确保它保持为缓冲区或二进制文件。
【问题讨论】:
-
当您提到您将 .csv.gz 存储为字符串时。你是怎么编码的?
-
writeStream是如何定义的? -
@Eelke 我只是将它传送到一个普通的
fs.createWriteStream,这会产生这个.csv.gz文件。
标签: javascript node.js gzip zlib