如何让页面同时下载多个文件的尝试
来源:互联网 发布:阿里云 上传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>