【问题标题】:How to download a file using javascript?如何使用javascript下载文件?
【发布时间】:2015-08-04 07:07:21
【问题描述】:

你好,有没有机会在前端不显示下载过程的情况下将文件下载到本地系统?

我正在尝试如下

   var f = document.createElement("iframe");
   f.setAttribute("id", "theFrame");
   document.body.appendChild(f);
   document.getElementById("theFrame").location = 'http://www.example.com/yourfile.doc';

我可以下载该文件,但在下载文件时它显示在浏览器的前端。

【问题讨论】:

  • 一个简单的谷歌搜索会告诉你这是一个安全风险,不可能。

标签: javascript windows download


【解决方案1】:

没有。这是不可能的。

根据定义,网站是不受信任的。而且您不希望不受信任的网站对您的系统进行更改,即使它“只是”文件下载(这可能是潜在的危险,因为它可能包含病毒)。

因此,浏览器会按照它认为合适的方式向用户显示下载内容。对此你无能为力。

(因为你已经建好了,你可以在未经许可的情况下下载它,你只是不能隐藏下载)

【讨论】:

  • 是的——“不可能”部分是“在前端不显示下载过程”。网页完全有可能在加载时启动下载(不仅仅是资产)。
  • @T.J.Crowder 确实如此。大多数浏览器构建器都认为这是一项功能。也不是很满意。这就是我所说的“浏览器认为合适”的意思,不一定是我们对此的看法。
【解决方案2】:

不可能。当浏览器检测到文件下载时,它将显示在下载栏中,您无法(至少您不应该)停止此操作 - 这是浏览器的工作方式,与 javascript/php 代码无关.

除了恶意(如病毒)之外,我也想不出任何你想对用户隐藏它的用例。

【讨论】:

    猜你喜欢
    • 2018-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-25
    • 2013-12-23
    • 1970-01-01
    • 2021-12-18
    • 2015-04-07
    相关资源
    最近更新 更多