【发布时间】:2015-06-26 21:55:22
【问题描述】:
当我使用 GET 时,一切正常。但是,我很难使用 POST 来达到相同的效果。这是我尝试过的代码:
1.
app.post("/download", function (req, res) {
res.download("./path");
});
2.
app.post("/download", function (req, res) {
res.attachment("./path");
res.send("ok");
});
3.
app.post("/download", function (req, res) {
res.sendFile("./path");
});
它们都不起作用。这样做的正确方法是什么?
编辑:
我通过 HTML 表单向/download 提交 POST 请求。 ./path 是一个静态文件。当我使用方法一中的代码时,我可以在开发者工具中看到正确的响应头和响应体。但是浏览器不提示下载。
【问题讨论】:
-
哪个版本的 express js。你正在用吗。
res.download()使用 res.sendFile() 传输文件。从 Express v4.8.0 开始也支持 res.sendFile()。 -
@Pinal 这个问题似乎与我提到的 POST 方法无关。
-
@hitman4890 我正在使用节点 v0.10.32 并表示 v4.12.3
-
能否显示调用方法或下载请求在哪里生成的代码?还有
path是正确的吗?
标签: javascript node.js express