gpt4 book ai didi

node.js - 表达 res.download() 并未实际下载文件

转载 作者:太空宇宙 更新时间:2023-11-03 22:00:29 25 4
gpt4 key购买 nike

我正在尝试通过 Express 的 res.download 函数将生成的文件返回到前端。我使用的是 chrome,但每当我调用执行以下代码的 API 时,返回的所有值都与从 Express res.sendFile() 函数返回的值相同。

我知道 res.download 使用 res.sendFile,但我希望下载功能实际保存到文件系统,而不是仅在响应正文中返回文件。

这是我的代码。

exports.download = function(req,res) {
var filePath = //somefile that I want to download
res.download(filePath, 'response.txt', function(err) {
throw err;
}
}

我知道上面的代码至少部分有效,因为我在响应中返回了文件的内容。但是,我希望将其保存到文件系统中。

我是否误解了下载功能的用途?我是否只需要手动获取响应数据并将其写入文件系统?

最佳答案

res.download 添加 header ,建议浏览器应该下载文件而不是打开文件。然而,没有办法强制浏览器这样做;通常,最终由用户选择是否下载特定文件。

如果您使用 AJAX 触发此请求,那么这不会导致它被下载,因为您的 JavaScript 正在请求它获取数据。

Do I just need to take the response data and write it to the file system manually?

您没有浏览器端 JavaScript 中的文件系统访问权限。我不确定你打算如何做到这一点。

关于node.js - 表达 res.download() 并未实际下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27114494/

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