向网页发送 link 并自动下载文件

Send a link to a webpage and automatically download a file

所以我有一个网页,其中包含类似于以下内容的元素

<a href="docs/some_file.xlsx" download="some_file.xlsx" class="btn btn-primary">Download!</a>

现在我想通过电子邮件向一些客户发送一个 hyperlink,这样他们就可以访问该网页,同时无需点击就可以下载文件。这样他们就可以获取文件,我确保他们可以看到包含更多信息的网页。

到目前为止,我考虑过右键单击并直接从浏览器将 link 复制到按钮,但是如果我从 ab 电子邮件中单击它,那么 hyperlink 只会下载文件,我想要浏览器弹出并显示按钮和信息所在的登录页面。有什么想法吗?

顺便说一句,网页是完全静态的,所以没有 php 运行。只有HTML和javascript可以配置网页

您可以使用 JavaScript 触发文件下载,方法是在具有 download 属性的 <a> 标签上触发 click()。像这样:

const $link = document.createElement('a');
$link.href = 'docs/some_file.xlsx';
$link.download = 'some_file.xlsx';
$link.click();

但是请记住,浏览器可能会尝试限制自动文件下载,以防止网站做出不正当行为。当网站试图下载多个文件时,我尤其看到过这种情况,所以我认为您只下载一个文件就可以了。

通常,解决此问题的最佳方法是确保您仅在响应用户输入(例如点击)时执行此操作,但这听起来并不适用于您正在寻找的解决方案这里。

您可以做什么 - 例如设置某个参数: https://example.com/?autodownload=1

然后添加一段 javascript 立即或在超时后自动下载文件。类似于:

document.addEventListener("DOMContentLoaded", function(event) { 
    if (window.location.href.indexOf("autodownload") > -1)
      setTimeout(function(){ 
            window.open("https://example.com/docs/some_file.xlsx");
        }, 3000); //your timeout in miliseconds
    }
});

当然这个解决方案是行不通的,如果浏览器会阻止打开新的 windows。 这种方法的第二种可能性是用单击锚点本身替换 window.open 函数。

如何在HTML

中自动添加下载Link

在HTML

中自动下载link非常容易

我将向大家展示如何在 HTML 中自动制作 link (分 5 个步骤)

  1. 打开您的代码编辑器应用程序,您在哪里编写代码并创建一个 HTML 文档

  2. 在您的代码编辑器应用中创建 HTML 文档后,现在在您的 HTML 文档中添加标签和 Href 属性

  3. 在您的 HTML 文档中添加标签和 Href 属性后,现在在您的 Href 属性中提供文件或文件夹位置

  4. 在您的 Href 属性中添加文件或文件夹位置后,现在在您的标签中添加下载属性

  5. 在标签中添加下载属性后,现在保存 HTML 文件并检查下载 Link

例如

<a href="images.png/cat.png" download>Download</a>

你也可以看看这个视频

https://www.youtube.com/watch?v=1eQQCEMeRfE