javascript - 使用 XMLHttpRequest 下载多图像。请求全部完成,但只获得 10 或 20 张图像
问题描述
您好我正在尝试从网页下载图像。
在 devtool 中运行代码并为其创建一个小册子。我的代码有效,但如果 imgarr.length 更大,我只能得到 10 或 20 个图像。我检查了所有请求,它们仍然有效(状态 200)。请帮助我这有什么问题。
var imgarr = [url1, url2,...] // using querySelectorAll to get Array of URL Image;
try {
for (var i = 0; i < imgarr.length; i++) {
download(imgarr[i],'image')
};
} catch (e) {
alert("Download failed.");
console.log('Download failed.', e);
}
function download(url, fileName) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.responseType = 'blob';
xhr.onreadystatechange = function () {
if(this.readyState == 4 && this.status == 200){
var url = window.URL.createObjectURL(this.response);
var a = document.createElement("a");
document.body.appendChild(a);
a.style = "display: none";
a.href = url;
a.download = fileName;
a.click();
document.body.removeChild(a);
}
}
xhr.send();
}
解决方案
推荐阅读
- sql - 从 SQL 表中选择标记为 X 或 Y 的记录,但不选择同时具有 X 和 Y 的记录
- mysql - 如何在 SQL 条件下包含一些数据和其他数据?
- nativescript - Nativescript-Vue ScrollView 可滚动高度始终为 0。我的目标是将其滚动到底部,因为它是一个聊天应用程序
- javascript - 将应用程序推送到实时服务器时 Heroku Fatal
- amazon-web-services - SageMaker - 为 ECR 指定什么 IAM 权限?
- c# - 启用时重新启动 obj 编号
- php - PHP棘手的正则表达式获取引用的字符串直到某些单词
- sqlite - MSIX 错误:“您需要一个新应用程序才能打开此 ms-appinstaller 链接”!帮助!问题出在沙盒中
- python - 将对象添加到现有晶格变形器 Maya
- php - Laravel 唯一字段验证问题(重复输入错误)