2009-07-29 34 views
1

我想下載或只需要從一個網站使用純編碼本身的javascript 保存圖像文件。因爲我想下載近1000個jpeg,所以我想寫一個函數來調用並下載這些圖像。使用js下載或只保存一個網站的圖像文件

URL是可用的,從我要下載的特定圖像

請指導有關這個..

+0

否則是有可能從指定網址下載所有的圖像 - 與原來的大小 – praveenjayapal 2009-07-29 11:30:13

回答

3

的JavaScript,在標準瀏覽器的安全上下文,不允許寫入到用戶的文件系統(超越緩存的任何副作用)。

您可以使用瀏覽器插件/添加/擴展/ etc —來實現您想要的功能,但即使是如何實現這一功能的廣泛手段也取決於您要定位的瀏覽器。

坦率地說,這聽起來更像是一個像wget這樣的蜘蛛工作,而不是JavaScript。

3

根據您的需求,您可能想看看DownThemAll(一個Firefox插件)

它可以讓你批量下載鏈接的圖像,電影等從網站。

請注意,這是一個用戶工具,而不是開發人員工具,因此您無法以編程方式完成整個任務。

alt text

0

有Firefox擴展FlashGot它可以下載各種影像/音頻等頁面上一氣呵成。

1

大衛說,JS不會這樣做。

您可能需要單獨使用download manager或瀏覽器plug-in變體。大多數下載管理器都非常擅長下載一系列文件,例如以「img0001.jpg」開頭,以「img9999.jpg」結尾的文件。

0

一個腳本語言可以很容易地處理這個問題。尤其是Python,使用BeautifulSoup,在這種情況下使用起來相當容易。如果你正在尋找,任何可以下載頁面並且有一個可用於解析HTML的庫的語言都可以正常工作,BS恰好是我擁有廣泛知識(因此可以推薦)的唯一一種語言。

0

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(); 
相關問題