节点stream和处理通过FTP压缩内容
我的服务器上有一个大的压缩文件10gb +我无法在本地机器上保存压缩文件。 我想stream压缩的内容到我的服务器上(通过FTP),解压内容块的块,并处理每个块/线。
基本上我的挑战和问题是:我可以使用压缩文件的每个stream块并独立解压缩它们吗? 或者我必须下载整个文件? 有没有一个节点库来处理这个问题?
如果可以将压缩文件更改为gzip文件,则可以。 从我读的这是不可能的一个Zip文件。 如此处所述: Java:通过HTTP传输Zipfile的内容
所以我决定考虑使用GZip文件,GZip看起来相当简单。
如果只有没有zip字典的压缩文件,也许你可以试试这个
fs.createReadStream(`${craneProjectDir}/tree`) .pipe(zlib.createUnzip()) .pipe(fs.createWriteStream('myfile'))
https://nodejs.org/api/zlib.html#zlib_zlib_createunzip_options
如果它有一个字典,这是一个压缩文件的常规,你可以试试这个
https://github.com/antelle/node-stream-zip
作为例子非常大,我邀请您检查自述文件
要通过FTP读/写文件,我邀请您使用卓越的mscdex库
https://github.com/mscdex/node-ftp
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();
所以是的,这应该是可行的。
- 无法连接到服务器 – 迁移分析服务器iOS
- Angularjs请求标题字段Access-Control-Allow-Headers在预检响应中不被Access-Control-Allow-Headers所允许