下载或只使用js从网站保存图像文件

时间:2009-07-29 11:24:23

标签: javascript jquery html

我想下载或只需要使用javascript从网站保存图像文件 在纯编码本身..因为我想下载近1000个jpeg,所以我想编写一个函数来调用和下载这些图像。

网址可用,我想下载特定图片

请指导一下..

7 个答案:

答案 0 :(得分:3)

在标准浏览器安全上下文中,不允许JavaScript写入用户的文件系统(超出缓存的任何副作用)。

您可以使用浏览器插件/ add on / extension / etc来实现您想要的功能 - 但即使是如何实现这一目标的广泛内容也取决于您所针对的浏览器。

坦率地说,这听起来更像是像狼一样的蜘蛛,而不是JavaScript。

答案 1 :(得分:3)

根据您的需要,您可能需要查看DownThemAll(Firefox插件)

它允许您从网站批量下载链接的图像,电影等。

请注意,它是一个用户工具,而不是开发人员工具,因此您无法以编程方式完成所有操作。

alt text

答案 2 :(得分:1)

就像 David 所说,JS不会这样做。

您需要独立的download manager或浏览器plug-in变体。大多数下载管理员都非常擅长下载一系列文件,例如以“img0001.jpg”开头,以“img9999.jpg”结尾的文件。

答案 3 :(得分:1)

fileUrl =" http://www.b2hp.com/myProfilePic.jpg";

var xhr = new XMLHttpRequest();
xhr.responseType = 'blob';
xhr.onload = function () {
  var a = document.createElement('a'); // create html element anchor
  a.href = window.URL.createObjectURL(xhr.response); // xhr.response is a blob
  a.download = "TEMP-1.jpg"; // Set the file name.
  a.style.display = 'none'; // set anchor as hidden
  document.body.appendChild(a);
  a.click();
  a.remove()
};
xhr.open('GET', fileUrl);
xhr.send();

答案 4 :(得分:0)

Firefox扩展程序FlashGot可以一次性下载页面上的所有图像/音频等。

答案 5 :(得分:0)

如果你想通过代码加载图像,你应该阅读这篇关于图像预加载的文章: http://www.webreference.com/programming/javascript/gr/column3/

它帮助我构建了一个类来从URL获取图像并在完成后收到通知。

答案 6 :(得分:0)

脚本语言可以很容易地处理这个问题。在这种情况下,使用BeautifulSoup的Python特别容易使用。

如果您正在寻找,任何可以下载页面并且具有可用于解析HTML的库的语言都可以正常工作,BS恰好是我唯一具备广泛知识的语言(因此可以推荐)。