首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过FTP压缩内容的节点流和处理

通过FTP压缩内容的节点流和处理
EN

Stack Overflow用户
提问于 2016-05-11 22:08:29
回答 2查看 1.6K关注 0票数 2

我的服务器10gb+上有一个大型的压缩文件,我无法将压缩文件保存在本地机器上。我希望(通过FTP)将压缩的内容流到我的服务器上,逐块解压缩内容,并处理每个块/行。

基本上,我的挑战和问题是:我可以使用压缩文件的每个流块并独立解压缩它们吗?还是我要下载整个文件?是否有处理此问题的节点库?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-14 00:36:37

如果您可以将压缩文件更改为gzipped文件,则是可能的。据我所知,用Zip文件是不可能的。如前所述:Java:通过HTTP提供via文件的流内容

因此,我决定研究如何使用GZipped文件来解决这个问题,使用GZip似乎相当容易。

票数 3
EN

Stack Overflow用户

发布于 2016-05-14 10:49:03

如果它只是一个没有zip字典的压缩文件,也许您可以尝试一下

代码语言:javascript
运行
复制
  fs.createReadStream(`${craneProjectDir}/tree`)
  .pipe(zlib.createUnzip())
  .pipe(fs.createWriteStream('myfile'))

选项

如果它有一个字典,这对于压缩文件来说是正常的,那么您可以尝试这样做

https://github.com/antelle/node-stream-zip

因为这个例子很大,所以我邀请您检查自述文件

要通过FTP读写文件,我请您使用优秀的mscdex库

https://github.com/mscdex/node-ftp

代码语言:javascript
运行
复制
  var Client = require('ftp');
  var fs = require('fs');

  var c = new Client();
  c.on('ready', function() {
    c.get('foo.txt', function(err, stream) {
      if (err) throw err;
      stream.once('close', function() { c.end(); });
      stream.pipe(fs.createWriteStream('foo.local-copy.txt'));
    });
  });
  // connect to localhost:21 as anonymous
  c.connect();

所以这应该是可行的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37174089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档