当用户点击某个按钮时,我有一个来自后端的网址。此网址包含一个文件。单击该URL时,应该下载该文件。我试过通过动态生成锚标记并使用MouseEvent以编程方式单击它来实现。我写的代码如下:
const link = document.createElement('a'),
event = new MouseEvent('click');
link.href = data;
link.dispatchEvent(event);
但是这会将我重定向到网址而不是下载它。令人惊讶的是,几天前,这段代码运行良好。什么是最好的方法。
[编辑] : 如果这个问题重复或错误询问,请发表评论。我找不到这个具体问题,大多数答案都使用了jquery。
答案 0 :(得分:0)
尝试使用以下代码
var url = data;
var element = document.createElement('a');
element.href = url;
element.setAttribute('download', name);
element.setAttribute('target', '_blank');
document.body.appendChild(element); //Append the element to work in firefox
element.click();