2013-01-06 19 views
5

Sandbox dosya sistemine birden fazla resim indirilebiliyor mu ("Farklı Kaydet" iletişim kutusu yoksa veya en fazla bir adet saveas iletişim kutusu olmadan)?Birden fazla dosya ve zip dosyası indiriliyor - Chrome uzantısı

onları indirerek, onları bir ZIP içine almak istiyorum .. herhangi bir javascript arşiv kütüphanesi var mı? Bazı web sayfaları düzenli parçaları olarak görüntüleri erişmek veya XMLHTTPRequest s vasıtasıyla ayrı yükleyebilirsiniz

+0

Eğer (bir sayfada resources' tüm 'içeriğine erişebilir görüntüleri, js \ css dosyaları vb) ben JS – Sudarshan

cevap

1

önceden

teşekkürler ... Bundan sonra, bunları JSZip JavaScript kütüphanesini kullanarak tek bir arşivde sıkıştırabilirsiniz. Zip, "Farklı Kaydet" iletişim kutusu olmayan bir dosya olarak saklanabilir (sitedeki örneği deneyin). Yine de neden sandbox'a ihtiyacınız olduğuna emin değilim.

Sıkıştırma için diğer JavaScript kitaplıkları var, örneğin, bazıları other SO answer'da belirtilmiştir.

+0

No arşivleme emin değilim. Not ZIP .. Soru aslında - ben görüntüleri indirirken , "saveAs" diyaloğu olmadan görüntüleri indirebilir miyim? Ancak sitedeki örnek, düşündüğümden daha basit görünüyor ... Önce bunları denerim. – raj

6

Bunun için zip.js kullanabilirsiniz. Zaten HTTP'den sıkıştırılmış içeriğin getirilmesi için API (cf. zip.HttpReader yapıcı) ve HTML5 dosya sisteminde (bkz. zip.FileWriter yapıcı) oluşturulmuş zip dosyası yazmak için API var.

index.html dosyası: Burada

filesystem API kullanarak bir örnektir

<!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 dosyası:

// 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, Chrome Uzantıları'nın genellikle çalıştığı yerdir. –

+0

Bu eskidir, ancak hayatım boyunca oluşturulan fermuarın nasıl indirileceğini öğren. Oluşturma çalışmam var, ancak oluşturulan dosyanın URL'sini nasıl bulacağımı bilmiyorum. – GtwoK

İlgili konular