Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何强制/允许用户下载多个文件?(客户端)_Javascript_Html_Flash - Fatal编程技术网

Javascript 如何强制/允许用户下载多个文件?(客户端)

Javascript 如何强制/允许用户下载多个文件?(客户端),javascript,html,flash,Javascript,Html,Flash,输入是可变数量的URL(远程),所有链接图像资源。希望允许用户允许一批下载所有这些URL。由于我们讨论的是1000-2000个图像资源,要求用户为每个URL单击“另存为…”是不可行的 我最初的尝试是将所有图像下载到blob(由于同源策略而无法工作),归档文件并允许用户下载(所有这些客户端) 我想知道可能的替代方案是什么?无论解决方案是什么,都不能在任何时候将远程资源下载到服务器。我真的想不出更好的办法,只能根据用户的偏好在服务器端准备一个存档,然后让用户下载包 我想你可以让用户安装一个浏览器扩展

输入是可变数量的URL(远程),所有链接图像资源。希望允许用户允许一批下载所有这些URL。由于我们讨论的是1000-2000个图像资源,要求用户为每个URL单击“另存为…”是不可行的

我最初的尝试是将所有图像下载到blob(由于同源策略而无法工作),归档文件并允许用户下载(所有这些客户端)


我想知道可能的替代方案是什么?无论解决方案是什么,都不能在任何时候将远程资源下载到服务器。

我真的想不出更好的办法,只能根据用户的偏好在服务器端准备一个存档,然后让用户下载包


我想你可以让用户安装一个浏览器扩展,允许对二进制数据和本地文件系统进行更多的控制,但我怀疑这正是你想要的。

虽然这不可能,但我还是用一些魔法在Chrome上做到了这一点。首先,您需要将
下载
属性设置为您的所有链接。例如:

<a href="http://example.com/image1.jpg" download>download</a>
<a href="http://example.com/image2.jpg" download>download</a>
然后只需在链接中循环并调用它:

var links = document.getElementsByTagName('a');
for(var i=0;i<links.length; i++) {
    makeClick(links[i]);
}
var links=document.getElementsByTagName('a');
对于(var i=0;i
var links = document.getElementsByTagName('a');
for(var i=0;i<links.length; i++) {
    makeClick(links[i]);
}