只是想寻找一个简单的解决方案,下载和解压缩.zip.tar.gz个文件 node .任何操作系统上的js.

不确定这是内置的还是我必须使用单独的库.有什么 idea 吗?只需要几行代码,所以当下一个zip文件出现时,我想在node中下载,这是一个无需思考的问题.感觉这应该很简单和/或内置,但我找不到任何东西.谢谢

推荐答案

Node内置了对gzip的支持,并通过zlib module:

var zlib = require('zlib');

zlib.gunzip(gzipBuffer, function(err, result) {
    if(err) return console.error(err);

    console.log(result);
});

Edit:甚至可以直接通过Gunzip(使用request)读取数据:

var request = require('request'),
    zlib = require('zlib'),
    fs = require('fs'),
    out = fs.createWriteStream('out');

// Fetch http://example.com/foo.gz, gunzip it and store the results in 'out'
request('http://example.com/foo.gz').pipe(zlib.createGunzip()).pipe(out);

对于tar档案,有npm使用的Isaacs'tar module.

Edit 2:更新了答案,因为zlib不支持zip格式.这只适用于gzip人.

Node.js相关问答推荐

如何使用updateMany()和Node.js的方法?

如何修复PayPal Node.js Webhook中Webhook签名验证失败?''

运行JEST测试时找不到模块&q;错误

Mongoose查询-如何根据当前查找ID获取其他集合并将其插入到当前查找中?

ForbidenError:使用Express.js的CSRF令牌无效

下一个API路由如何处理多个并发请求?

Rails 7导入npm yaml包时出现404错误

编写动态创建的 YAML - 为生态系统创建 Docker compose 文件(使用 js-yaml)

Postgressql的BIGSERIAL自增序列,即使由于唯一约束错误没有创建行,也会自动增加

在父模式中设置默认值.

图像存储在后端文件夹中,但使用 multer 和 react.js 在前端找不到

使用 node/express/Multer,您如何首先判断参数?

nvm / node / npm: node 12 的 npm 比 node 14 的更新?

如何为一个网站实现这 2 个网址.即 www.administrator.sitename.com 和 www.sitename.com?

如何使用适用于 Node.js 的 AWS 开发工具包将 Amazon S3 中的所有对象从一个前缀复制/移动到另一个前缀

Mongoose:查找、修改、保存

socket.io 发出回调合适吗?

NODEJS 进程信息

Node.js 应用程序有周期性的缓慢和/或超时(不接受传入的请求)

如何断言不为空?