HTML DOM Input FileUpload অবজেক্ট একটি <input type="file"> এলিমেন্টকে রিপ্রেজেন্ট করে। এটি ব্যবহারকারীকে লোকাল ফাইল সিস্টেম থেকে ফাইল সিলেক্ট করে সার্ভারে আপলোড করার অনুমতি দেয়।
সিনট্যাক্স: FileUpload অবজেক্ট তৈরি
var fileUploadBtn = document.createElement("INPUT");
fileUploadBtn.setAttribute("type", "file");
FileUpload অবজেক্টের প্রধান প্রপার্টি
| প্রপার্টি | ব্যাখ্যা |
|---|---|
| accept | গ্রহণযোগ্য ফাইল টাইপ (MIME type বা এক্সটেনশন) পাওয়া/সেট করা যায়। |
| autofocus | পেজ লোডে অটো ফোকাস পাবে কিনা। |
| disabled | ইনপুট ডিজেবলড আছে কিনা (পাওয়া/সেট করা যায়)। |
| defaultValue | ডিফল্ট ভ্যালু (ফাইল ইনপুটে প্রায়শই ব্যবহার হয় না)। |
| files | সিলেক্ট করা ফাইলগুলোর FileList অবজেক্ট রিটার্ন করে (শুধু পঠনযোগ্য) — সবচেয়ে গুরুত্বপূর্ণ। |
| form | প্যারেন্ট ফর্ম এলিমেন্টের রেফারেন্স। |
| multiple | একসাথে একাধিক ফাইল সিলেক্ট করা যাবে কিনা (পাওয়া/সেট করা যায়)। |
| name | name অ্যাট্রিবিউটের মান (পাওয়া/সেট করা যায়)। |
| required | ফর্ম সাবমিশন থেকে আগে ফাইল বাধ্যতামূলক কিনা। |
| type | ইনপুট টাইপ: "file" (শুধু পঠনযোগ্য)। |
| value | সিলেক্ট করা ফাইলের পথ (সিকিউরিটি কারণে শুধু ফাইলনেম, পূর্ণ পথ নয়) — শুধু পঠনযোগ্য। |
উদাহরণ: জাভাস্ক্রিপ্ট দিয়ে ফাইল আপলোড বাটন তৈরি
<!DOCTYPE html>
<html>
<head>
<style>
body { text-align: center; }
.btn {
background-color: lightblue; border: none; height: 2rem;
border-radius: 50px; width: 60%; margin: 1rem auto; display: block;
}
</style>
</head>
<body>
<h1>DOM Fileupload Object Example</h1>
<button onclick="createFileBtn()" class="btn">Click me to create an input file upload button</button>
<script>
function createFileBtn() {
var fileUploadBtn = document.createElement("INPUT");
fileUploadBtn.setAttribute("type", "file");
document.body.appendChild(fileUploadBtn);
}
</script>
</body>
</html>
আউটপুট
নীল বাটনে ক্লিক করলে পেজে একটি নতুন "Choose File" বাটন তৈরি হবে।
গুরুত্বপূর্ণ সিকিউরিটি নোট
- জাভাস্ক্রিপ্ট দিয়ে
valueবাfilesপ্রপার্টি সেট করা যায় না (শুধু ব্যবহারকারী ইন্টারঅ্যাকশন দ্বারা) — এটি ম্যালিশিয়াস ফাইল আপলোড রোধ করে। acceptঅ্যাট্রিবিউট দিয়ে ফাইল টাইপ ফিল্টার করা যায় (যেমন:accept="image/*"বাaccept=".pdf,.doc")।multipleঅ্যাট্রিবিউট যোগ করলে ব্যবহারকারী একসাথে একাধিক ফাইল সিলেক্ট করতে পারবে।