Javascript 如何从NodeJS服务器下载zip文件夹
我有一个文件夹内的文件,我想下载的文件夹形式节点js服务器。我尝试了一些代码,但不起作用。我得到了一些关于下载(,)文件夹的例子,但它们对我不起作用,或者我不理解它们Javascript 如何从NodeJS服务器下载zip文件夹,javascript,node.js,download,Javascript,Node.js,Download,我有一个文件夹内的文件,我想下载的文件夹形式节点js服务器。我尝试了一些代码,但不起作用。我得到了一些关于下载(,)文件夹的例子,但它们对我不起作用,或者我不理解它们 I have folder like: Allfilefolder -file1.js - file2.js -file3.js 我可以使用以下方式下载每个文件: app.get("/files/downloads", function(req,res){ c
I have folder like:
Allfilefolder
-file1.js
- file2.js
-file3.js
我可以使用以下方式下载每个文件:
app.get("/files/downloads", function(req,res){
const fs = require('fs');
var filepath = './Allfilefolder/file1.js';
res.download(filepath );
});
但是我不知道如何下载这个文件夹。有什么帮助吗?假设您已经安装了一个zip软件,并且可以从应用程序访问该软件,一种方法是使用Node.js child\u进程,这样您甚至不必使用外部库 以下是一个基本示例,其灵感来源于简洁有效的答案:
// requiring child_process native module
const child_process = require('child_process');
const folderpath = './Allfilefolder';
app.get("/files/downloads", (req, res) => {
// we want to use a sync exec to prevent returning response
// before the end of the compression process
child_process.execSync(`zip -r archive *`, {
cwd: folderpath
});
// zip archive of your folder is ready to download
res.download(folderpath + '/archive.zip');
});
您还可以查看npm,以找到更可靠地处理归档文件或目录的软件包。假设您已经安装了zip软件,并且可以从应用程序访问该软件,一种方法是使用Node.js child_进程,这样您甚至不必使用外部库 以下是一个基本示例,其灵感来源于简洁有效的答案:
// requiring child_process native module
const child_process = require('child_process');
const folderpath = './Allfilefolder';
app.get("/files/downloads", (req, res) => {
// we want to use a sync exec to prevent returning response
// before the end of the compression process
child_process.execSync(`zip -r archive *`, {
cwd: folderpath
});
// zip archive of your folder is ready to download
res.download(folderpath + '/archive.zip');
});
您还可以查看npm,以找到更可靠地处理归档文件或目录的包。您还没有压缩任何文件,是吗?@TGrif是的,我还没有压缩文件夹。我只想从节点服务器下载文件夹。为此,我想我应该先把拉链拉上。但我还不知道怎么做。我找了很多次,但都找不到有用的东西。如果您以前做过类似的事情,您能帮我吗。@TGrif您没有解决方案吗?您还没有压缩任何文件,是吗?@TGrif是的,我还没有压缩文件夹。我只想从节点服务器下载文件夹。为此,我想我应该先把拉链拉上。但我还不知道怎么做。我找了很多次,但都找不到有用的东西。如果你以前做过类似的事情,你能帮我吗?@TGrif如果你没有解决办法的话?