博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一次下载多个文件
阅读量:5301 次
发布时间:2019-06-14

本文共 1244 字,大约阅读时间需要 4 分钟。

最近微软更新频频,我也去凑热闹下载更新包安装包。我发现chrome弹出一个对话框

说什么 是否允许下载多个文件

点击允许以后果然下载N个文件

我心想微软这么牛?一次请求可以拆分成多个文件下载了?

遂再次下载一次,看看是什么请求

 

原来只是动态请求了多次JS,这个JS其实就是加了个iframe,里面是下载的文件

 JS请求格式是这样的,http://某js?guid guid guid guid N个GUID组成的参数,JS内部代码太多不放上来了,就是添加iframe

微软的太过复杂,于是百度了一下,找了一个比较简单明了的例子,大家一看就明了啦

主要思路:在一个页面中append多个iframe的方式,来下载文件!
具体实现如下:
function batch_download(ids)
{
var tmp_array = [];
tmp_array = ids.split(",")
 
       //download
$("iframe").remove();  //清除页面上上一次存在的iframe
window.ids_array = tmp_array;   //定义全局变量用来获取要下载文件的id
download();  
}
 
function    download()
{
if(window.ids_array.length > 0)
{
$("body").append("<iframe src=download?file="+window.ids_array.pop()></iframe>"); //download为下载地址
setTimeout(download, 1); //等待1毫秒后执行递归
}
}
 
经过测试: 在IE9下,一次限制下载2个文件,如果要设置为多个,需要按以下步骤操作:
让IE9的下载数量增大的步骤如下: 
  1.找到“开始”菜单栏 - 运行 - 在搜索框输入“regedit” 
  2.在注册表找到下列注册表键值: 
  HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings 
  3.右键单击“Internet Settings” - 选择新建 - 输入DWORD(32-bit)值 
  4.将新建值命名为MaxConnectionsPerServer。 
  5.双击MaxConnectionsPerServer,在数值框输入数字4,然后点击“确定”。 
  6.右键单击“Internet Settings”- 选择新建 - 输入DWORD(32-bit)值 
  7.将新建值命名为“MaxConnectionsPer1_0Server”。 
  8.双击“MaxConnectionsPer1_0Server”,在数值框输入6,点击“确定”。 

转载于:https://www.cnblogs.com/billsquall/p/4698935.html

你可能感兴趣的文章
【数据结构】栈结构操作示例
查看>>
中建项目环境迁移说明
查看>>
三.野指针和free
查看>>
activemq5.14+zookeeper3.4.9实现高可用
查看>>
TCP/IP详解学习笔记(3)IP协议ARP协议和RARP协议
查看>>
简单【用户输入验证】
查看>>
python tkinter GUI绘制,以及点击更新显示图片
查看>>
HDU4405--Aeroplane chess(概率dp)
查看>>
CS0103: The name ‘Scripts’ does not exist in the current context解决方法
查看>>
20130330java基础学习笔记-语句_for循环嵌套练习2
查看>>
Spring面试题
查看>>
窥视SP2010--第一章节--SP2010开发者路线图
查看>>
MVC,MVP 和 MVVM 的图示,区别
查看>>
C语言栈的实现
查看>>
代码为什么需要重构
查看>>
TC SRM 593 DIV1 250
查看>>
SRM 628 DIV2
查看>>
2018-2019-2 20165314『网络对抗技术』Exp5:MSF基础应用
查看>>
Python-S9-Day127-Scrapy爬虫框架2
查看>>
SecureCRT的使用方法和技巧(详细使用教程)
查看>>