2013-01-06 12 views
5

क्या सैंडबॉक्स फ़ाइल सिस्टम में कई छवियों को डाउनलोड करना संभव है (बिना "सेव करें" डायलॉग बॉक्स, या अधिकतम एक सेवस डायलॉग)?एकाधिक फाइलें और ज़िप डाउनलोड करना - क्रोम एक्सटेंशन

उन्हें डाउनलोड करने के बाद, मैं उन्हें एक में ज़िप करना चाहता हूं .. क्या कोई जावास्क्रिप्ट संग्रह पुस्तकालय है?

अग्रिम धन्यवाद ..

+0

आप एक पृष्ठ में सभी 'resources' की सामग्री के लिए उपयोग किया जा सकता है (छवियों, जेएस \ सीएसएस फाइल आदि) मुझे जेएस – Sudarshan

उत्तर

1

आप कुछ वेब पृष्ठों की नियमित हिस्से के रूप में छवियों का उपयोग करने या उन्हें XMLHTTPRequest रों के माध्यम से अलग से डाउनलोड कर सकते हैं। इसके बाद आप उन्हें JSZip जावास्क्रिप्ट लाइब्रेरी का उपयोग करके एक संग्रह में ज़िप कर सकते हैं। ज़िप को "इस रूप में सहेजें" संवाद के बिना फ़ाइल के रूप में संग्रहीत किया जा सकता है (साइट पर उदाहरण आज़माएं)। हालांकि मुझे यकीन नहीं है कि आपको sandbox क्यों चाहिए।

ज़िप के लिए अन्य जावास्क्रिप्ट पुस्तकालय मौजूद हैं, उदाहरण के लिए, other SO answer में कुछ का उल्लेख किया गया है।

+0

नंबर के माध्यम से संग्रह करने की ज़रूरत नहीं है। ज़िप नहीं .. सवाल वास्तव में था - जब मैं छवियों को डाउनलोड करता हूं , क्या मैं "saveAs" संवाद के बिना छवियों को डाउनलोड कर सकता हूं? लेकिन साइट में उदाहरण मैंने जो सोचा है उससे सरल दिखता है ... मैं उन्हें पहले कोशिश करता हूं – raj

6

आप इसके लिए zip.js का उपयोग कर सकते हैं। इसमें पहले से ही HTTP (सीएफ zip.HttpReader कन्स्ट्रक्टर) से ज़िपित करने के लिए एपीआई है और एचटीएमएल 5 फाइल सिस्टम (सीएफ zip.FileWriter कन्स्ट्रक्टर) पर जेनरेट ज़िप लिखने के लिए है।

index.html फ़ाइल:

यहाँ filesystem API का उपयोग कर एक उदाहरण है

<!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 फ़ाइल:

// 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

क्रोम है जहां क्रोम एक्सटेंशन आमतौर पर चलते हैं। –

+0

यह पुराना है, लेकिन मेरे जीवन के लिए मैं नहीं कर सकता बनाई गई ज़िप को डाउनलोड करने का तरीका जानें। मुझे सृजन मिल रहा है, लेकिन मुझे यकीन नहीं है कि बनाई गई फ़ाइल के लिए यूआरएल कैसे खोजें। – GtwoK

संबंधित मुद्दे