সাধারণত আমাদের বিভিন্ন ডাটা নিয়ে কাজ করতে হয় এবং প্রয়োজন অনুসারে তা ডাটাবেইজে সংরক্ষণ করতে হয়। আজকে একটি সমস্যা নিয়ে আলোচনা করবো তা হলো, “Mo...
সাধারণত আমাদের বিভিন্ন ডাটা নিয়ে কাজ করতে হয় এবং প্রয়োজন অনুসারে তা ডাটাবেইজে সংরক্ষণ করতে হয়। আজকে একটি সমস্যা নিয়ে আলোচনা করবো তা হলো, “MognoDB তে সংরক্ষণকৃত PDF ফাইল ফ্রন্টএ্যান্ড এ একসেস অথবা ডাউনলোড দিলে তা করাপ্ট দেখায়” তাহলে চলুন এই সমস্যার সমাধান করার চেষ্টা করি।
যে সকল কারণে সমস্যা হয়ঃ
⇘ MongoDB তে সাধারণত বাইনারি ডাটা সংরক্ষন
করে এবং PDF এর বাইনারি ডেটা সঠিকভাবে এনকোড না হলে ফ্রন্টএ্যান্ড বা ক্লাইন্ট সাইডে
PDF ফাইলটি ডেকোড হওয়ার সময় করাপ্ট হয়ে যায়।
⇘ অ্যাাঙ্কর (a) ট্যাগ এর মাধ্যমে এপিআই কলের
মাধ্যমে MonogoDB থেকে PDF ফাইল সরাসরি ডাউনলোড করা হলে, ব্রাউজার ডাউনলোডকৃত ফাইলের
সঠিক টাইপ চিনতে পারে না।
⇘ ফাইলের আকার বড় হলে ডাউনলোড করার সময় নেটওয়ার্কের
সমস্যা বা সার্ভারের লোডের কারণে ফাইলটি করাপ্ট হতে পারে।
⇘ সঠিকভাবে ফাইল এনকোড বা ডিকোড না হলে ফাইল
করাপ্ট হতে পারে।
সমাধানঃ
⇘ MongoDB থেকে PDF এর বাইনারি ডেটা ফেচ করে
Base64 এ এনকোড করুন এবং এই এনকোডকৃত স্ট্রিংটি HTML এর অ্যাাঙ্কর ট্যাগের href এট্র্যিভিউটে
ডেটা URI সেট করুন।
⇘ ক্লায়েন্টের রিকোয়েস্ট অনুযায়ি MongoDB থেকে
PDF ফাইল ফেচ করার সময় HTTP রেসপন্সে Content Type হেডার application/pdf দিন এবং রেসপন্স
বডিতে PDF এর বাইনারি ডেটা পাঠাবেন।
⇘ বড় ধরনের ফাইল হলে MongoDB এ GridFS ব্যাবহার
করতে পারেন কেননা GridFS ফাইলটিকে ছোট ছোট চাংকে ভাগ করে সংরক্ষণ করে এবং ডাউনলোড করার
সময় ছোট ছোট চাংক একত্রিত করে।
ফাইল রিট্রিভ এবং ডাউনলোড প্রক্রিয়া কোড (Node.js):
ফ্রন্টএ্যান্ড ফাইল ডাউনলোড প্রক্রিয়া:
COMMENTS