如何自动下载 javascript 中的文件?

How do you automatically download a file in javascript?

所以,我一直在寻找并试图找到一种在有人访问我的网站时自动下载文件的方法。我试过使用 a 标签下载,它有效,您只需单击即可下载。像这样...

<a href="pic.jpg" download>Download</a>

但我不想这样。我希望它无需点击即可自动下载。我需要一些帮助!

如果它是一个实际文件(不会像 JPG 文件那样简单地显示在浏览器中的文件),那么您可以使用 javascript 或元重定向。

<script> document.location.href = 'yourfile.exe'; </script>

<meta http-equiv="refresh" content="0; url=yourfile.exe">

但我想知道您是否在谈论用户被问及是否要打开或保存文件(无论是 JPG 还是其他文件?)

另一种方法:

var a = document.createElement('a');
a.setAttribute('href', dataUri);
a.setAttribute('download', filename);

var aj = $(a);
aj.appendTo('body');
aj[0].click();
aj.remove();

另一个纯 javascript 的选项是:

const downloadFile = (file) => {
  const element = document.createElement('a');
  element.setAttribute('href', 'Download Btn');
  element.setAttribute('download', file);

  element.style.display = 'none';

  document.body.appendChild(element);

  element.click();
  document.body.removeChild(element);
}

然后您可以在加载时调用该函数:

downloadFile(/*pass your file here*/);