我在 HTML 中有一个下载按钮,单击该按钮时,会通过 ajax 发出 POST 请求,发送必须下载的文件的文件名。
在服务器端,我做这样的事情:
function download (req, res) {
...
// path is an absolute path to a file that is not in the public
// directory. I want to download that file
res.writeHead(200, {
"Content-disposition": "attachment;filename=\"" + path + "\"",
"Content-Type": "text/csv"
});
var filestream = fs.createReadStream(path);
filestream.pipe(res);
};
我可以在响应中看到文件内容,但没有出现保存文件对话框。
哪个是问题?我怎样才能解决这个问题?
我只使用内置的节点模块,所以我不使用 express。