一些任务后如何下载文件

时间:2016-08-11 06:46:22

标签: javascript jquery html web-services

您好,我正在尝试通过异常流程下载文件。

情况如下:

  1. 用户触发下载按钮。

  2. 用户选择下载目录。

  3. 网络浏览器汇总用户来自第三方服务器的全部信息

  4. 聚合完成后,用户将自动下载信息。

  5. 问题是下载目的地是在开始下载之前确定的。

    有什么方法可以解决这个问题吗?

    提前谢谢。

2 个答案:

答案 0 :(得分:1)

客户端浏览器确定下载文件的保存位置,如果供应网站可以更改该文件的位置,则可能是一个令人难以置信的安全问题。您可以将它们发送到系统文件夹,或者隐藏某些硬盘驱动器上的恶意代码。

根据我的经验

,设置下载目标的唯一方法是在浏览器配置中

答案 1 :(得分:1)

您无法设置扩展文件夹。但据我所知,你的问题不是大问题,而是在你结束这个过程后的下载。

如果是这样,步骤将是:用户点击,数据将发送,保存的文件夹将由用户选择,下载将开始。

因此,要在想要(在发送数据之后)开始下载,您可以创建一个带有download属性的隐藏链接,然后随时点击它。< / p>

像这样:(下载的文件当然是demy,你需要设置链接,真正的URL)。

&#13;
&#13;
function startDownload() {
  $('#status').html('collect data..')
  setTimeout(function(){
    download('test content', 'file name.txt', 'text/plain');
  }, 2000);
}

function download(text, name, type) {
  var file = new Blob([text], {type: type}) 
  $('<a href="' + URL.createObjectURL(file) + '" download></a>').get(0).click();
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button onclick="startDownload()">Download</button>
<div id="status"></div>
&#13;
&#13;
&#13;

http://output.jsbin.com/sihibu