gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 22:48:30 28 4
gpt4 key购买 nike

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

最佳答案

使用每 5 秒或 10 秒轮询一次服务器的 ajax json 脚本,当服务器准备好文件时,以肯定的回答“我有一个文件”做出响应,将 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;
}

关于javascript - 是否可以触发文件下载到用户的浏览器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11867096/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com