নিরাপত্তার কারণে ব্রাউজারগুলি একটি ইনপুটের মাধ্যমে নির্বাচিত চিত্র ফাইলের পাথ অ্যাক্সেস করার অনুমতি দেয় না, যেমন ব্রাউজারে জাভাস্ক্রিপ্ট ফাইল সিস্টেমে কোনো অ্যাক্সেস নেই৷ তাই, আমাদের কাজ হল ইনপুট এর মাধ্যমে নির্বাচিত ছবি ফাইলটিকে আমরা যেকোনো সার্ভারে বা অন্য কোথাও পাঠানোর আগে সেটির পূর্বরূপ দেখা৷
পদ্ধতি 1:URL ক্লাস ব্যবহার করা:
আমরা ইনপুট দ্বারা নির্বাচিত ছবির একটি url তৈরি করতে URL ক্লাসের createObjectURL() ফাংশন ব্যবহার করতে পারি এবং তারপর একটি img ট্যাগের src বৈশিষ্ট্যে সেই url প্রদান করতে পারি৷
উদাহরণ
এর জন্য কোড হবে −
<img id="preview"/>
<input type="file" accept="image/*" onchange="previewImage(event)">
<script>
const previewImage = e => {
const preview = document.getElementById('preview');
preview.src = URL.createObjectURL(e.target.files[0]);
preview.onload = () => URL.revokeObjectURL(preview.src);
};
</script> পদ্ধতি 2:ফাইলরিডার ক্লাস ব্যবহার করা:
এই পদ্ধতিটি দ্বারা গৃহীত ফাইলটিকে পার্স করবে এবং তারপরে এটি একটি স্ট্রিং তৈরি করবে যেখানে ছবির একটি base64 উপস্থাপনা থাকবে।
উদাহরণ
এর জন্য কোড হবে −
<img id="preview"/>
<input type="file" accept="image/*" onchange="previewImage(event)">
<script>
const previewImage = e => {
const reader = new FileReader();
reader.readAsDataURL(e.target.files[0]);
reader.onload = () => {
const preview = document.getElementById('preview');
preview.src = reader.result;
};
};
</script> আউটপুট
উভয় পদ্ধতির আউটপুট −
এর মত দেখাবে
