1

我正在尝试使用要下载的文件弹出我的下载功能,当我单击链接时它将文件的二进制文件输出到 div,我该如何制作它,以便当我单击链接时,它会改为询问我要下载吗?我知道我可以用查询字符串和在 php 中使用标头来做到这一点,但我可以用 ajax/javascript 以类似的方式做到这一点吗?谢谢,这是我尝试过的:

<html>
<head>
<script>
function Download(plan_name)
{
    if (window.XMLHttpRequest)
    {
        xmlhttp=new XMLHttpRequest();
    }
    else
    {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            var resp = xmlhttp.responseText;
            document.getElementById("txtHint").innerHTML=resp;


            //HOW TO SHOW test.zip in a save-as dialog?
        }
    }

    xmlhttp.open("GET","fetcher.php?file=/raid0/data/naswebsite/Projects/Projects/07-003_Dawson_Mine/Flight\ Plans/Dawson_Sth_1211_AMG_700.zip");
    xmlhttp.send();
}

</script>
</head>
<body>

<a href="#" onClick="Download();">Test Download</a>
<div id="txtHint"></div>

</body>
</html>
4

1 回答 1

2

无法从 AJAX 请求下载文件。
相反,您可以将 URL 加载到隐藏的<iframe>.

于 2012-11-28T03:55:28.057 回答