2012-12-19 108 views
5

इनपुट यूआरएल (रिमोट) की एक चर संख्या है, सभी लिंकिंग छवि संसाधन। यह वांछित है कि उपयोगकर्ता को इन सभी यूआरएल को एक बैच में डाउनलोड करने की अनुमति दें। चूंकि हम 1000-2000 छवि संसाधनों के बारे में बात कर रहे हैं, इसलिए उपयोगकर्ता को प्रत्येक यूआरएल के लिए "सेव करें ..." पर क्लिक करने के लिए कहा जा सकता है।उपयोगकर्ता को एकाधिक फ़ाइलों को डाउनलोड करने/अनुमति देने के लिए कैसे करें? (क्लाइंट साइड)

मेरा मूल प्रयास सभी छवियों को ब्लॉब में डाउनलोड करना था (How to read loaded image into a blob?, समान मूल नीति के कारण काम नहीं किया था), फ़ाइल को संग्रहित करें और उपयोगकर्ता को इसे डाउनलोड करने की अनुमति दें (इस क्लाइंट पक्ष के सभी)।

मैं सोच रहा था कि संभावित वैकल्पिक समाधान क्या हैं? समाधान जो भी हो, इसमें किसी भी समय सर्वर पर दूरस्थ संसाधनों को डाउनलोड करना शामिल नहीं होना चाहिए।

उत्तर

0

मैं वास्तव में कुछ भी बेहतर नहीं सोच सकता लेकिन उपयोगकर्ता की प्राथमिकता के आधार पर सर्वर पक्ष पर एक संग्रह तैयार करने के लिए, और उसके बाद उपयोगकर्ता पैकेज डाउनलोड कर सकता है।

मुझे लगता है कि आप उपयोगकर्ता को ब्राउज़र एक्सटेंशन इंस्टॉल कर सकते हैं जो बाइनरी डेटा और स्थानीय फाइल सिस्टम पर थोड़ा अधिक नियंत्रण की अनुमति देगा, लेकिन मुझे संदेह है कि आप यही खोज रहे हैं।

1

हालांकि यह संभव नहीं होना चाहिए, मैं क्रोम में कुछ जादूगरों के साथ ऐसा करने में कामयाब रहा। सबसे पहले आप अपने सभी लिंक f.ex को download attrbute निर्धारित करने की आवश्यकता:

<a href="http://example.com/image1.jpg" download>download</a> 
<a href="http://example.com/image2.jpg" download>download</a> 

फिर एक सिंथेटिक क्लिक समारोह बनाने के लिए:

function makeClick(element) { 
    var evt = element.ownerDocument.createEvent('MouseEvents'); 
    evt.initMouseEvent('click', true, true, 
     element.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, 
     false, false, false, 1, null); 
    element.dispatchEvent(evt); 
}​ 
फिर अपने लिंक के माध्यम से सिर्फ पाश

और यह कहते हैं:

http://jsfiddle.net/37pFC/

Chrome में:

var links = document.getElementsByTagName('a'); 
for(var i=0;i<links.length; i++) { 
    makeClick(links[i]); 
} 

यहाँ एक डेमो है आपको कुछ चेतावनी मिलेगी जैसे "यह साइट आपको कई फाइलें डाउनलोड करना चाहता है। अनुमति दें "लेकिन यह प्रबंधनीय हो सकता है

अस्वीकरण:?।। मैं अन्य ब्राउज़र में करने की कोशिश की नहीं किया, और मैं इसे बहुत क्रॉस-ब्राउज़र अनुकूल है नहीं लगता कि

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

  • कोई संबंधित समस्या नहीं^_^