ক্রোম ডেভ ইনডেক্সডডিবি-তে ব্লবের জন্য সমর্থন করেছে।
এটি Chrome-এর জন্য একটি দীর্ঘ প্রতীক্ষিত বৈশিষ্ট্য যা IndexedDB API-কে একটি Base64 স্ট্রিং-এ রূপান্তর না করেই একটি ব্লব সংরক্ষণ এবং পুনরুদ্ধার করতে সক্ষম করে।
IndexedDB বৃহৎ স্কেল কী-ভ্যালু টাইপ স্থায়ী স্টোরেজ প্রদান করে যা বেশিরভাগ আধুনিক ব্রাউজারে উপলব্ধ (Safari দৃশ্যত iOS8 এবং Mac OS X 10.10-এ সমর্থন করবে)। এর বাস্তবায়ন অবস্থা দেখুন।
ব্লব হল একটি ফাইলের মতো বাইনারি অবজেক্ট যা আধুনিক জাভাস্ক্রিপ্ট ইঞ্জিনগুলি পরিচালনা করতে পারে। ফাইল অবজেক্ট ব্লব থেকে উত্তরাধিকারসূত্রে প্রাপ্ত। আপনি XMLHttpRequest এর মাধ্যমে ব্লব হিসাবে ছবি এবং ফাইল আনতে পারেন। এর বাস্তবায়ন অবস্থা দেখুন।
IndexedDB-তে একটি ব্লব সংরক্ষণ করা
IndexedDB-তে ব্লব উপলব্ধতা শনাক্ত করার কোনো উপায় নেই। আপনাকে মূলত চেষ্টা-ক্যাচ করতে হবে তারপর ব্লবের পরিবর্তে স্ট্রিং ব্যবহার করুন যদি এটি উপলব্ধ না হয়। এখানে কিছু নমুনা কোড আছে:
// Create an example Blob object
var blob = new Blob(['blob object'], {type: 'text/plain'});
try {
var store = db.transaction(['entries'], 'readwrite').objectStore('entries');
// Store the object
var req = store.put(blob, 'blob');
req.onerror = function(e) {
console.log(e);
};
req.onsuccess = function(event) {
console.log('Successfully stored a blob as Blob.');
};
} catch (e) {
var reader = new FileReader();
reader.onload = function(event) {
// After exception, you have to start over from getting transaction.
var store = db.transaction(['entries'], 'readwrite').objectStore('entries');
// Obtain DataURL string
var data = event.target.result;
var req = store.put(data, 'blob');
req.onerror = function(e) {
console.log(e);
};
req.onsuccess = function(event) {
console.log('Successfully stored a blob as String.');
};
};
// Convert Blob into DataURL string
reader.readAsDataURL(blob);
}
IndexedDB-এর জন্য ব্লব সমর্থন ইতিমধ্যেই Firefox এবং Internet Explorer-এ উপলব্ধ। সাফারি সমর্থন তদন্ত করা প্রয়োজন.
উপভোগ করুন!