我有一个强制下载的脚本,我通过 Javascript 调用它。但是没有弹出对话框,这里是download.php脚本:
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: $ctype");
// change, added quotes to allow spaces in filenames, by Rajkumar Singh
header("Content-Disposition: attachment; filename=\"".basename($properFilename)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));
readfile("$filename");
exit();
这是Javascript(使用JQuery):
///force download
$.ajax({
type: "GET",
url: "download.php",
data: 'file=' + msg + '&properFilename=' + properFileName,
success: function(msg){
window.location.href = msg;
});//ajax
这会将我的浏览器重定向到另一个页面,而不是显示向下对话框。
我知道 JS 变量 msg 包含具有正确标题的文件,但我不知道如何处理它以使其显示下载对话框。
谢谢大家
ps不知道把这个线程JS或PHP放在哪里。
编辑:
我有正确的方法,我确信 :) - 用户访问我的网站,他们填写表格并按下提交。几秒钟后,他们的文件应该会出现在他们可以下载的对话框中。去做这个:
我进行 AJAX 调用以获取文件并下载它。我使用 PHP 脚本来发送标题。现在我需要的只是一种让下载对话框出现的方法!!