我的快递应用程序中包含以下代码:
...
res.status(200);
if (download === true) {
res.download("./src/data/file.txt");
res.end()
} else {
res.json({ msg: msges.success });
}
当查询参数 download = true 与请求一起发送时,文件将按预期下载,但它没有来自该路径的数据,而数据只是来自该路径的 .json 其他声明。如果删除了其他文件,则该文件包含正确的数据。
答案 0 :(得分:0)
发送queryParam时,它们被视为字符串。
这是您的 if语句失败的原因。
所以您应该尝试:-
if (download === 'true') {
res.download("./src/data/file.txt");
res.end()
} else {
res.json({ msg: msges.success });
}
答案 1 :(得分:0)
表达式Query params
是字符串。您通过===
运算符将字符串与布尔值进行比较,然后始终为false,这意味着您的代码永远不会进入if
块。
只需将字符串与字符串进行比较:
...
if (download === "true") { // string `"true"`
...