我想创build一个下载button,但文件不下载?

我正在创build请求服务器下载文件的点击监听器的下载button

代码点击侦听器:

downloadFileClick(event){ $.ajax('/download', {data:{}}).done(function(data){ }.bind(this)); } 

在服务器端下面的代码正在运行

 app.get('/download', function(req, res){ var file = __dirname + '/write/imageout.png'; res.download(file); }); 

文件不在浏览器中下载。 我检查了从服务器发送给客户端的响应,它发送文件内容,但不从浏览器下载。

您无法通过向该文件发出ajax请求来下载文件。 浏览器将忽略这个。 您必须通过<a href="/download" download>打开文件,或者您可以从jQuery中触发:

 var a = $("<a>"); a.attr("href", "/download"); a.attr("download", "img.png"); // this is important a.appendTo("body"); a[0].click(); a.remove(); 

这应该正确地下载浏览器图像。