【问题标题】:Javascript - auto download a resourceJavascript - 自动下载资源
【发布时间】:2019-01-07 04:40:15
【问题描述】:

我有一个我想下载的媒体(照片+视频)的 URL 列表。

当然,我可以将文件转储到 wget,但我正在考虑是否可以在客户端执行此操作。

我的 node.js 服务器可以将资源以链接的形式注入客户端。 然后我找到了这个关于如何下载链接的网站 https://ourcodeworld.com/articles/read/189/how-to-create-a-file-and-generate-a-download-with-javascript-in-the-browser-without-a-server

问题是用户必须点击每个资源才能下载它,这非常耗时。我宁愿使用 wget。

我认为出于安全考虑,不支持自动下载。

但是有没有办法在没有用户界面的情况下自动下载所有资源?

有点像,服务器一直提供 URL 资源,客户端自动下载它们,直到没有更多资源可供服务。

编辑:或者也许,只需单击一个按钮,而不是下载一个资源,而是循环并下载所有资源

【问题讨论】:

  • 下载是指作为离散文件保存到磁盘,而不是例如本地存储?
  • 您可以在任意数量的<a>s 上发起.click(),如果您的调用代码是由用户交互触发的(例如,他们单击一个按钮并且您处理该单击以触发更多点击)

标签: javascript download href


【解决方案1】:

您可以为链接创建 onclick 事件;

<a onclick="specialOnClick">download ALL</a>

<script>
function specialOnClick() {

   window.open('mysite.com/file1');
    window.open('mysite.com/file2');
    window.open('mysite.com/file3');
}
</script>

【讨论】:

    【解决方案2】:

    ES6 版本

    
    const autoDownloadFile = (href = ``, title = ``) => {
        const a = document.createElement("a");
        a.setAttribute("href", href);
        a.setAttribute("download", title);
        a.setAttribute("target", "_blank");
        a.click();
    };
    
    // autoDownloadFile(`https://cdn.xgqfrms.xyz/logo/icon.png`, `icon`);
    
    
    

    const autoDownloadFile = (href = ``, title = ``) => {
        const a = document.createElement("a");
        a.setAttribute("href", href);
        a.setAttribute("download", title);
        a.setAttribute("target", "_blank");
        a.click();
    };
    
    autoDownloadFile(`https://cdn.xgqfrms.xyz/logo/icon.png`, `icon`);

    【讨论】:

      猜你喜欢
      • 2012-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-10
      • 2012-02-24
      • 2018-07-10
      • 1970-01-01
      相关资源
      最近更新 更多