<ইনপুট টাইপ = "ফাইল"> একাধিক ফাইল কীভাবে নির্বাচন করবেন?


110

এর সাথে একাধিক ফাইল কীভাবে নির্বাচন করবেন <input type="file">?


এটি জাভাস্ক্রিপ্ট এবং এইচটিএমএল সম্পর্কে
মাস্ক

আপনি কী এক সাথে একাধিক ফাইল আপলোড করতে চান (যখন আপনি একবারে একটি নির্বাচন করেন এবং তারপরে আপলোড ক্লিক করেন)? বা আপনি কি বোঝাতে চাইছেন যে একটি ব্রাউজার উইন্ডোতে বেশ কয়েকটি ফাইল নির্বাচন করতে সিটিআরএল + ক্লিক ব্যবহার করতে চান?
ক্লিটাস

2
আপনি ইনপুট উপাদানটিতে একাধিক বৈশিষ্ট্য ব্যবহার করে এটি HTML5 দিয়ে করতে পারেন with <ইনপুট টাইপ = 'ফাইল' একাধিক = ''> এখানে এটি দুর্দান্ত ব্যবহার করেছে যে এটি ব্যবহার করে: jsfiddle.net/0GiS0/Yvgc2
কোস্টা

উত্তর:


126

নতুন উত্তর:

এইচটিএমএল 5 এ আপনি multiple1 টিরও বেশি ফাইল নির্বাচন করতে বৈশিষ্ট্য যুক্ত করতে পারেন ।

<input type="file" name="filefield" multiple="multiple">

পুরানো উত্তর:

আপনি প্রতি 1 টি ফাইল নির্বাচন করতে পারেন <input type="file" />। আপনি যদি একাধিক ফাইল প্রেরণ করতে চান তবে আপনাকে একাধিক ইনপুট ট্যাগ ব্যবহার করতে হবে বা ফ্ল্যাশ বা সিলভারলাইট ব্যবহার করতে হবে।


7
জিমেইল এটি করার জন্য ফ্ল্যাশ ব্যবহার করে
ফ্যাবিয়েন ম্যানেজার

19
এইচটিএমএল 5 এর পরে নয়। ইনপুট ক্ষেত্রে একাধিক বৈশিষ্ট্য রয়েছে।
কোস্টা

2
@ কোস্টা ২০০৯ সালের ২০ শে অক্টোবর বেশিরভাগ ব্রাউজারগুলি সেই বৈশিষ্ট্যটি সমর্থন করে না এবং নিয়াভলিস ইতিমধ্যে ২ বছর আগে এইচটিএমএল 5 সমাধানটি দেখিয়েছে।
জিপ্পিভি

2
এই উত্তরটি ডাইনোসরগুলির চেয়ে বেশি প্রাচীন
আগস্ট'১১ 'এ 21:44

2
এই একাধিক = "একাধিক" ব্যবহারকারী বান্ধব নয়, অ্যাভারেজ ব্যবহারকারী এটি বুঝতে পারে না, এমনকি "ctrl বোতাম" কী করবে তাও জানে না এবং এটি বিভিন্ন ফোল্ডারে ফাইল নির্বাচন করতে পারে না।
জিন-পল

84

এইচটিএমএল 5 <input type="file" multiple />( স্পেসিফিকেশন ) রয়েছে।

ডেস্কটপে ব্রাউজার সমর্থনটি বেশ ভাল (কেবলমাত্র আই 9 এবং পূর্বের দ্বারা সমর্থিত নয়), মোবাইলে কম ভাল, আমি অনুমান করি কারণ প্ল্যাটফর্ম এবং সংস্করণের উপর নির্ভর করে সঠিকভাবে প্রয়োগ করা শক্ত er



7
যোগ করার বিষয়ে বিবেচনা করুনname="files[]"
'21

22

পুরো জিনিসটি দেখতে এমন হওয়া উচিত:

<form enctype='multipart/form-data' method='POST' action='submitFormTo.php'> 
    <input type='file' name='files[]' multiple />
    <button type='submit'>Submit</button>
</form>

enctype='multipart/form-data'আপনার <form>ট্যাগটিতে অ্যাট্রিবিউট আছে কিনা তা নিশ্চিত করুন , অথবা আপনি জমা দেওয়ার পরে সার্ভার সাইডে ফাইলগুলি পড়তে পারবেন না!


যদি না আপনি এটি
ওয়েবসকেট


8

আপনি এটি এখন HTML5 দিয়ে করতে পারেন

সংক্ষেপে আপনি ফাইল ইনপুটটিতে একাধিক বৈশিষ্ট্য ব্যবহার করেন।

<input type='file' multiple>

এই জিনিস সমর্থন সম্পর্কে কি? Canisuse.com এর তথ্য নেই।
হুবার্ট ওজি

আমি নিশ্চিত নই, আমি একই জায়গা পরীক্ষা করেছি, হা।
কোস্টা

1
FileReader নেই .nameসম্পত্তি, তাই আপনার উদাহরণে শিরোনাম সবসময় undefined: jsfiddle.net/m5jeyeyt/1
vladkras

1

এইচটিএমএল 5 ইনপুট উপাদানগুলির জন্য নতুন বৈশিষ্ট্যযুক্ত একাধিক সরবরাহ করেছে যার ধরণের বৈশিষ্ট্যটি ফাইল। সুতরাং আপনি একাধিক ফাইল এবং আই 9 নির্বাচন করতে পারেন এবং পূর্ববর্তী সংস্করণগুলি এটি সমর্থন করে না।

দ্রষ্টব্য: ইনপুট উপাদানটির নাম দিয়ে যত্নবান হন। যখন আপনি একাধিক ফাইল আপলোড করতে চান আপনার নাম বৈশিষ্ট্যের মান হিসাবে স্ট্রিং না করে অ্যারে ব্যবহার করা উচিত।

উদা: ইনপুট প্রকার = "ফাইল" নাম = "মাইফোটস []" একাধিক = "একাধিক"

এবং যদি আপনি পিএইচপি ব্যবহার করেন তবে আপনি $ _FILES এ ডেটা পাবেন এবং var_dump ($ _ ফাইলস) ব্যবহার করবেন এবং আউটপুট দেখুন এবং প্রক্রিয়াজাতকরণ করুন এখন আপনি পুনরাবৃত্তি করতে পারেন এবং বাকীটি করতে পারেন


1

এটা সহজ ...

<input type='file' multiple>
$('#file').on('change',function(){
     _readFileDataUrl(this,function(err,files){
           if(err){return}
           console.log(files)//contains base64 encoded string array holding the 
           image data 
     });
});
var _readFileDataUrl=function(input,callback){
    var len=input.files.length,_files=[],res=[];
    var readFile=function(filePos){
        if(!filePos){
            callback(false,res);
        }else{
            var reader=new FileReader();
            reader.onload=function(e){              
                res.push(e.target.result);
                readFile(_files.shift());
            };
            reader.readAsDataURL(filePos);
        }
    };
    for(var x=0;x<len;x++){
        _files.push(input.files[x]);
    }
    readFile(_files.shift());
};

5
এটি ইতিমধ্যে পরিষ্কারভাবে উত্তর দেওয়া হয়েছে। জাভাস্ক্রিপ্ট উদাহরণ যুক্ত করার দরকার কী?
রাইটহ্যান্ডেডমনকি

এর সুন্দর কারণ?
টমাস লুডভিগ


-2

এটি আপনার এইচটিএমএল এ অনুলিপি করুন:

<input type="file" id="files" name="files[]" multiple />
<output id="list"></output>

<script>
function handleFileSelect(evt) {
var files = evt.target.files; // FileList object

// files is a FileList of File objects. List some properties.
var output = [];
for (var i = 0, f; f = files[i]; i++) {
  output.push('<li><strong>', escape(f.name), '</strong> (', f.type || 'n/a', ') - ',
              f.size, ' bytes, last modified: ',
              f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a',
              '</li>');
}
document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>';
}

এই ওয়েবপৃষ্ঠাটি থেকে আমার কাছে এটি আপনার কাছে আসে: http://www.html5rocks.com/en/tutorials/file/dndfiles/

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.