如何让页面同时下载多个文件的尝试

来源:互联网 发布:阿里云 上传apk 编辑:程序博客网 时间:2024/04/30 04:29
====================Main.aspx===========================<html><head>    <script language="javascript">        // 用于标记下载状态,'0'为初始值, '1' 为准备开始下载, '2' 为窗口焦点已离开,即下载窗口已弹出    var downloadStatus = 0;    var downloadIndex = 0;  // 当前下载文件索引    var downloadCount = 2;  // 总下载文件数        window.onblur = function(){  // 如果状态标志是'准备开始下载',可以理解为因为下载窗口弹出而失去焦点        if ( downloadStatus == 1 )            downloadStatus = 2;  // 下载窗口弹出状态    }        window.onfocus = function(){          // 得到焦点时,如果状态标志是'下载窗口弹出',可以理解为下载窗口关闭后重新得到焦点        // 此时如果还有没下载的,继续下载下一个文件        if ( downloadStatus == 2 && downloadIndex < downloadCount - 1 ) {            download(downloadIndex+1); // 继续下载下一个        } else if (downloadIndex == downloadCount-1) { // 全部文件已下载,恢复状态            downloadStatus = 0;            downloadIndex = 0;       }    }        function download(index){       downloadStatus = 1;       downloadIndex = index;          document.all.frmHid.src = "";       document.all.frmHid.src = "File.aspx?id=" + index;    }    </script></head><body>   Multy Download Sample<br />   <br />    <input type="button" id="btnDownload" value="Click Me To Download" onclick="download(0);"/>    <iframe id="frmHid" frameborder="no" src="" width="0" height="0"></iframe></body></html>
====================File.aspx===========================<%@ Page Language="VB" %><script runat="server"> Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)  Dim id As String = Request.QueryString("id")    Response.Clear()  Response.ContentType = "text/plain"  Response.AppendHeader("Content-Disposition", "attachment; filename=TestFile" & id & ".txt")  Response.Write("You requested " & id)  Response.End() End Sub</script>