将文件夹压缩到node.js中



我正在discord.js中创建一个discordbot,它将消息保存在服务器上。我想让它从保存的邮件文件夹中发送一个.zip压缩文件我知道如何发送附件,但我不知道如何将目录中的文件添加到此zip中

我试过这个:

但是文件没有以zip格式追加
有人可以发送固定代码吗
提前感谢您的帮助

var fs = require("fs");
var JSZip = require("jszip");
var zip = new JSZip();
zip
.folder("data");
.generateNodeStream({ type: 'nodebuffer', streamFiles: true })
.pipe(fs.createWriteStream("logs.zip"))
.on('finish', function () {
console.log("out.zip written.");
});

稳定版本的Discord.js Documentation中,TextChannel引用有一个允许发送远程和本地文件的方法send。

发送本地文件的文档示例代码:

// Send a local file
channel.send({
files: [{
attachment: 'entire/path/to/file.jpg',
name: 'file.jpg'
description: 'A description of the file'
}]
})
.then(console.log)
.catch(console.log);

您可以使用路径模块构建一个绝对路径文件,并将其作为attachment值。

const path = require('path');
const ABSOLUTE_PATH_FILE = path.resolve(__dirname, "./../files/filename.zip");

最新更新