ब्लॉब न बनाएं, उसे बनाएं

BlobBuilder के आप सभी प्रशंसकों के लिए यह रहा ईमेल. अब आपको धन्यवाद!

JavaScript में Blobs (या Files) बनाने के लिए, BlobBuilder एक आसान एपीआई है. Chrome 8, FF 6, और IE 10 को साथ में लॉन्च किए जाने के बाद से, उन्हें कभी भी Safari ब्राउज़र पर भेजा नहीं गया है और ऐसा कभी नहीं होगा. File API की खास जानकारी में हाल ही में किए गए बदलावों में Blob के लिए एक नया कंस्ट्रक्टर शामिल है, जो BlobBuilder को काम का नहीं बनाता है. दरअसल, Safari नाइटाइज़ ने पहले ही इसे बंद कर दिया है और Chrome जल्द ही आपको कंसोल में चेतावनी देना शुरू कर देगा.

तुलना के लिए, नीचे यही कोड दिया गया है. इसमें अब काम नहीं करने वाले BlobBuilder और Blob के नए कंस्ट्रक्टर का इस्तेमाल किया गया है. स्निपेट एक स्टाइलशीट बनाता है और उसे DOM में जोड़ देता है.

BlobBuilder():

window.BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder ||
                        window.MozBlobBuilder || window.MSBlobBuilder;
window.URL = window.URL || window.webkitURL;

var bb = new BlobBuilder();
bb.append('body { color: red; }');
var blob = bb.getBlob('text/css');

var link = document.createElement('link');
link.rel = 'stylesheet';
link.href = window.URL.createObjectURL(blob);

document.body.appendChild(link);

Blob():

window.URL = window.URL || window.webkitURL;

var blob = new Blob(['body { color: red; }'], {type: 'text/css'});

var link = document.createElement('link');
link.rel = 'stylesheet';
link.href = window.URL.createObjectURL(blob);
document.body.appendChild(link);

आसान! इसलिए, अब हम BlobBuilder में जोड़ने के बजाय, डेटा पार्ट के कलेक्शन से Blob बना सकते हैं. डेटा के हिस्से अलग-अलग तरह के हो सकते हैं (DOMString, ArrayBuffer, Blob), और ये किसी भी क्रम में हो सकते हैं. उदाहरण के लिए:

var blob = new Blob(['1234567890', blob, arrayBuffer]);

यह भी ध्यान रखें कि दूसरा ऑब्जेक्ट पैरामीटर ज़रूरी नहीं है. इन बदलावों के बारे में ज़्यादा जानकारी के लिए, BLOb पर MDN दस्तावेज़ देखें.