gpt4 book ai didi

node.js - 在服务器内存中生成 zip 文件并作为下载 Node.JS 发送到客户端

转载 作者:太空宇宙 更新时间:2023-11-04 02:28:51 24 4
gpt4 key购买 nike

我正在尝试在服务器内存中生成一个 zip 文件并将其作为下载文件发送到客户端。

基本上,有一个 html 页面,客户端可以在其中键入他想要的文件。服务器接收客户端输入的内容(通过 socket.io)并在 mongodb 上进行搜索。此时,服务器返回一个像这样的链接

    <a href='#' onclick='socket.emit("generateFile", id, path); return false;'>link</a>

其中 id 是数据库中条目的 ID,path 是 zip 中的文件之一的位置。之后,该服务器应该创建一个包含具有该 id 的条目的 json,并将其与服务器上可用的一些本地文件一起压缩。我的问题是:如何将生成的 zip 发送给客户端?请记住:我想发送它而不必将其保存在服务器的硬盘中。我在创建 zip 后尝试使用 Express,但代码未到达此部分:

    app.get('/', function(res, req)
{
res.set('Content-Type', 'application/zip')
res.send(generatedZipFile)
})

如何进行?

最佳答案

这是来自express-static-zip实现

var contentType = mime.lookup(name);
if (contentType != 'application/octet-stream') {
res.set('Content-type', contentType);
var charSet = mime.charsets.lookup(contentType);
if (charSet) {
entryData = entryData.toString(charSet);
}
}

res.status(200).send(entryData);

您可能想要设置状态代码和 MIME 格式。

关于node.js - 在服务器内存中生成 zip 文件并作为下载 Node.JS 发送到客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28527198/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com