首页 > 解决方案 > 如何将 zip 文件从服务器下载到客户端(nodejs)

问题描述

我在服务器端创建了一个 zip 文件,然后我想将文件传递到客户端,以便我可以使用 saveAs() 函数下载它并将其放入新的 Blob() 函数中。我怎样才能做到这一点?

const blob = new Blob([res.file], { type: 'application/zip' });
saveAs(blob, res.filename);

我创建了这样的代码,但我无法为服务器中的 zip 转换正确类型的缓冲区文件。我应该如何转换 zip 文件,以便客户端可以在 Blob 函数中接收正确的文件类型输入。

标签: node.jsangularexpressblob

解决方案


准备好 zip 后,您可以使用download()方法提供文件以实现该目的

下面的片段会帮助你

res.download('/report-12345.pdf', 'report.pdf', function (err) {
if (err) {
    // Handle error, but keep in mind the response may be partially-sent
   // so check res.headersSent
 } else {
  // decrement a download credit, etc.
 }
})

您可以在此处阅读更多详细信息 http://expressjs.com/en/5x/api.html#res.download

希望对你有帮助:)


推荐阅读