我有一个名为mytext.txt的文件,我想将此文件压缩为archive.rar。如何在nodejs中执行此操作?我没有找到任何类似于rar的东西,只有zip。
mytext.txt
archive.rar
nodejs
rar
zip
sigwle7e1#
找到一个rar命令行实用程序,可以像这样执行
$ rar myfile.dat compressed.rar
Node.js可以执行命令行调用。(参见child_process.exec)给exec函数一个普通命令,它就能完成任务。
child_process.exec
zwghvu4y2#
对于压缩单个文件,zlib 模块非常有用。
(function () { 'use strict'; var zlib = require('zlib'); var gzip = zlib.createGzip(); var fs = require('fs'); var inp = fs.createReadStream('mytext.txt'); var out = fs.createWriteStream('mytext.txt.gz'); inp.pipe(gzip).pipe(out); }());
o75abkj43#
不幸的是Nodejs不支持Rar压缩/解压缩,我对此也感到沮丧,所以我创建了一个名为"super-winrar"的模块,使处理nodejs中的Rar文件变得超级容易:)看看吧:https://github.com/KiyotakaAyanokojiDev/super-winrar示例创建文件"archive.rar"并附加"mytext.txt"文件:
const Rar = require('super-winrar'); // create a rar constructor with file path! (created if not exists) const rar = new Rar('archive.rar'); // handle erros, otherwise will throw an exception! rar.on('error', err => console.log(err.message)); rar.once('ready', async () => { await rar.append(['mytext.txt']); });
3条答案
按热度按时间sigwle7e1#
找到一个rar命令行实用程序,可以像这样执行
Node.js可以执行命令行调用。(参见
child_process.exec
)给exec函数一个普通命令,它就能完成任务。
zwghvu4y2#
对于压缩单个文件,zlib 模块非常有用。
o75abkj43#
不幸的是Nodejs不支持Rar压缩/解压缩,我对此也感到沮丧,所以我创建了一个名为"super-winrar"的模块,使处理nodejs中的Rar文件变得超级容易:)
看看吧:https://github.com/KiyotakaAyanokojiDev/super-winrar
示例创建文件"archive.rar"并附加"mytext.txt"文件: