是否可以强制文件下载到用户的浏览器(当然有标准的对话框提示)?由服务器触发.基本上我正在考虑将文件推送到来自服务器文件系统的浏览器.或者由于安全沙箱,这是不可能的?
如果这是不可能的,有不同的方式非常接近这个?我不想在用户同意的情况下发送文件.我可以想到两步法,首先提示用户输入数据,然后让用户点击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;
}