2013-01-06 10 views
5

Czy można pobrać wiele obrazów do systemu plików piaskownicy (bez okna dialogowego "zapisz jako" lub okna dialogowego "at-max one saveas")?Pobieranie wielu plików i zip - rozszerzenie Chrome

po pobraniu ich, chciałbym spakować je do jednego .. czy istnieje biblioteka archiwum javascript?

góry dzięki ..

+0

można mieć dostęp do wszystkich treści resources' 'na stronie (images, js \ css files etc) i nie jestem pewien archiwizacji przez JS – Sudarshan

Odpowiedz

1

Można dostęp do obrazów w regularnych części niektórych stron internetowych lub pobrać je oddzielnie za pomocą XMLHTTPRequest s. Następnie możesz skompresować je w jednym archiwum przy użyciu biblioteki JavaScript o wartości JSZip. Zip może być przechowywany jako plik bez okna "Zapisz jako" (spróbuj przykładu na stronie). Chociaż nie jestem pewien, dlaczego potrzebujesz sandbox.

Istnieją inne biblioteki JavaScript do kompresowania, na przykład niektóre wymienione są w other SO answer.

+0

Nie. Nie ZIP. Pytanie było w rzeczywistości - kiedy pobierałem obrazy , czy mogę pobrać obrazy bez dialogu "saveAs"? Ale ten przykład na stronie wygląda na prostszy, niż sądziłem ... najpierw wypróbuję je. – raj

6

Możesz użyć do tego celu zip.js. Posiada już API do pobierania zawartości spakowanej z HTTP (porównaj konstruktor zip.HttpReader) i do pisania wygenerowanego pliku ZIP w systemie plików HTML5 (porównaj konstruktor).

Oto przykład przy użyciu filesystem API: plik

index.html:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Zip JSON data from the BBC into HTML5 FileSystem</title> 
</head> 
<body> 
    <script src="zip.js"></script> 
    <script src="zip-fs.js"></script> 
    <script src="zip-ext.js"></script> 
    <script src="example.js"></script> 
</body> 
</html> 

example.js file:

// create a zip virtual filesystem 
var fs = new zip.fs.FS(); 

// add some files into the zip filesystem 

// add the "bbc-music.json" file in the root directory 
fs.root.addHttpContent("bbc-music.json", 
    "http://www.bbc.co.uk/programmes/genres/music.json"); 
// add the "bbc-learning.json" file in the root directory 
fs.root.addHttpContent("bbc-learning.json", 
    "http://www.bbc.co.uk/programmes/genres/learning.json"); 

// create a file named "test.zip" in the root directory of the HTML5 filesystem 
createFile("test.zip", function(fileEntry) { 
    // export the zip content into "test.zip" file 
    fs.root.exportFileEntry(fileEntry, function() { 
    console.log("done"); 
    }); 
}); 

// function to create a file in the HTML5 temporary filesystem 
function createFile(filename, callback) { 
    webkitRequestFileSystem(TEMPORARY, 4 * 1024 * 1024, function(fs) { 
    fs.root.getFile(filename, { create : true }, callback); 
    }); 
} 
+0

Chrome to miejsce, w którym zwykle są uruchamiane rozszerzenia Chrome. –

+0

To jest stare, ale na moje życie nie mogę dowiedzieć się, jak pobrać utworzony zip. Mam działającą kreację, ale nie jestem pewien, jak znaleźć adres URL dla utworzonego pliku. – GtwoK

Powiązane problemy