微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 是否可以触发文件下载到用户的浏览器?

是否可以强制文件下载到用户的浏览器(当然有标准的对话框提示)?由服务器触发.基本上我正在考虑将文件推送到来自服务器文件系统的浏览器.或者由于安全沙箱,这是不可能的?
如果这是不可能的,有不同的方式非常接近这个?我不想在用户同意的情况下发送文件.我可以想到两步法,首先提示用户输入数据,然后让用户点击OK按钮触发下载,但接近下载结束时,用户将获得另一个确认框(要求打开的标准下载提示)或保存).如果一步到位可能会很好.

解决方法:

使用ajax json脚本每隔5秒或10秒轮询一次服务器,
当服务器准备好文件时,回答“我有一个文件”的肯定回答,iframe移动到该文件所在的URL,然后将其作为正常下载处理.

我提供了一个小例子,说明我应该如何认为它应该有效,所以你有一些工作要做.我没有检查它的错误,它更像是一个概念验证的东西.

jQuery示例(不带json):

$.ajax('/myserverscript.PHP?fileready=needtokNow').done(function(data) 
    {
    if(data.indexOf("I have a file") != -1)
        {
        xdata = data.split('\n');
        data = xdata[1];
        document.getElementById('myiframe').location.href = data;
        }
    });

PHP代码

$x = filecheckingfunction();// returns false if none, returns url if there is a file
if($x !== false)
    {
    echo 'I have a file\n';
    echo $x;
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐