【问题标题】:I am trying to create a Download Button but file is not downloading?我正在尝试创建一个下载按钮,但文件没有下载?
【发布时间】:2017-09-17 01:26:39
【问题描述】:

我正在创建具有单击侦听器的下载按钮,请求服务器下载文件

代码点击监听器:

 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);
});

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

【问题讨论】:

标签: javascript node.js reactjs dom download


【解决方案1】:

您不能通过向该文件发出 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();

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-04
    • 1970-01-01
    • 2017-07-31
    • 1970-01-01
    • 2021-08-22
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    相关资源
    最近更新 更多