কড়া কথায় বলতে গেলে উত্তরটি নেই । একজন বিকাশকারী কোনও ধরণের বা এক্সটেনশনের ফাইল আপলোড করা থেকে কোনও ব্যবহারকারীকে আটকাতে পারে না ।
তবে এখনও, এর স্বীকৃতিযুক্ত বৈশিষ্ট্যটি <input type = "file">
ওএসের ফাইল নির্বাচন সংলাপ বাক্সে একটি ফিল্টার সরবরাহ করতে সহায়তা করে। উদাহরণ স্বরূপ,
<!-- (IE 10+, Edge (EdgeHTML), Edge (Chromium), Chrome, Firefox 42+) -->
<input type="file" accept=".xls,.xlsx" />
.xls বা .xlsx ব্যতীত ফাইলগুলি ফিল্টার করার জন্য একটি উপায় সরবরাহ করা উচিত। যদিও উপাদানটির এমডিএন পৃষ্ঠা input
সর্বদা বলেছিল যে এটি এটি সমর্থন করে, আমার অবাক করে দিয়েছি, এটি ফায়ারফক্সে আমার পক্ষে সংস্করণ 42 না হওয়া পর্যন্ত কাজ করে না। এটি আইই 10+, এজ এবং ক্রোমে কাজ করে।
সুতরাং, IE 10+, এজ, ক্রোম এবং অপেরা সহ 42 বছরেরও বেশি পুরানো ফায়ারফক্সকে সমর্থন করার জন্য, আমি অনুমান করি যে মাইমাই-টাইপের কমা-বিচ্ছিন্ন তালিকাটি ব্যবহার করা ভাল:
<!-- (IE 10+, Edge (EdgeHTML), Edge (Chromium), Chrome, Firefox) -->
<input type="file"
accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel" />
[ এজ ( এজ এজটিএমটিএল) আচরণ: ফাইল টাইপ ফিল্টার ড্রপডাউন এখানে উল্লিখিত ফাইলের প্রকারগুলি দেখায়, তবে ড্রপডাউনটিতে এটি ডিফল্ট নয়। ডিফল্ট ফিল্টারটি All files (*)
।]
আপনি MIME- টাইপগুলিতে অস্ট্রিস্কগুলিও ব্যবহার করতে পারেন। উদাহরণ স্বরূপ:
<input type="file" accept="image/*" /> <!-- all image types -->
<input type="file" accept="audio/*" /> <!-- all audio types -->
<input type="file" accept="video/*" /> <!-- all video types -->
ডাব্লু 3 সি লেখকদের সুপারিশের ক্ষেত্রে MIME- প্রকার এবং সংশ্লিষ্ট এক্সটেনশন উভয়ই নির্দিষ্ট করার পরামর্শ দেয় accept
। সুতরাং, সর্বোত্তম পন্থাটি হ'ল:
<!-- Right approach: Use both file extensions and corresponding MIME-types. -->
<!-- (IE 10+, Edge (EdgeHTML), Edge (Chromium), Chrome, Firefox) -->
<input type="file"
accept=".xls,.xlsx, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel" />
একই জেএসফিডাল: এখানে ।
রেফারেন্স: মাইম-টাইমগুলির তালিকা
গুরুত্বপূর্ণ: গুরুত্বপূর্ণaccept
বৈশিষ্ট্যটি ব্যবহার করা আগ্রহী ধরণের ফাইলগুলিতে ফিল্টার করার একটি উপায় সরবরাহ করে। ব্রাউজারগুলি এখনও ব্যবহারকারীদের যে কোনও ধরণের ফাইল চয়ন করতে দেয়। অতিরিক্ত (ক্লায়েন্ট-সাইড) চেক সম্পন্ন করতে হবে (জাভাস্ক্রিপ্ট ব্যবহার করে, একটি উপায় হবে এই ), এবং স্পষ্টভাবে প্রকারের ফাইল সার্ভারে যাচাই করা আবশ্যক , উভয় ফাইল এক্সটেনশন এবং তার বাইনারি স্বাক্ষর ব্যবহার মাইম-ধরনের সমন্বয় ব্যবহার করে ( এএসপি । নেট , পিএইচপি , রুবি , জাভা )। এছাড়াও আপনি উল্লেখ করতে চাইতে পারেন এই টেবিল ধরনের ফাইল এবং তাদের জন্য যাদু সংখ্যা, আরও শক্তিশালী সার্ভার-পাশ যাচাইকরণ করতে। ফাইল-আপলোড এবং সুরক্ষা সম্পর্কে
এখানে তিনটি ভাল পাঠ্য রয়েছে।
সম্পাদনা: সম্ভবত বাইনারি স্বাক্ষর ব্যবহার করে ফাইল টাইপ যাচাইকরণটি HTML5 ফাইল এপিআই ব্যবহার করে জাভাস্ক্রিপ্ট ব্যবহার করে (কেবল এক্সটেনশানটি দেখানোর চেয়ে) ক্লায়েন্টের পক্ষেও করা যেতে পারে, তবে এখনও, ফাইলটি অবশ্যই সার্ভারে যাচাই করা উচিত, কারণ দূষিত ব্যবহারকারী তবুও একটি কাস্টম এইচটিটিপি অনুরোধ করে ফাইলগুলি আপলোড করতে সক্ষম হবে।