ঠিক আপনার যা প্রয়োজন :) আপনি কলব্যাক সংস্করণ বা প্রতিশ্রুতি সংস্করণ চয়ন করতে পারেন। নোট করুন যে প্রতিশ্রুতিগুলি কেবল প্রতিশ্রুতি পলফিল লাইব দিয়ে IE এ কাজ করবে। আপনি এই কোডটি একবার পৃষ্ঠায় রাখতে পারেন এবং এই ফাংশনটি আপনার সমস্ত ফাইলে প্রদর্শিত হবে।
কোনও উত্স লোড করার সময় অগ্রগতি বন্ধ হয়ে গেলে লোডেন্ড ইভেন্টটি বরখাস্ত করা হয় (উদাহরণস্বরূপ "ত্রুটি", "বাতিল" বা "লোড" প্রেরণের পরে)
কলব্যাক সংস্করণ
File.prototype.convertToBase64 = function(callback){
var reader = new FileReader();
reader.onloadend = function (e) {
callback(e.target.result, e.target.error);
};
reader.readAsDataURL(this);
};
$("#asd").on('change',function(){
var selectedFile = this.files[0];
selectedFile.convertToBase64(function(base64){
alert(base64);
})
});
প্রতিশ্রুতি সংস্করণ
File.prototype.convertToBase64 = function(){
return new Promise(function(resolve, reject) {
var reader = new FileReader();
reader.onloadend = function (e) {
resolve({
fileName: this.name,
result: e.target.result,
error: e.target.error
});
};
reader.readAsDataURL(this);
}.bind(this));
};
FileList.prototype.convertAllToBase64 = function(regexp){
regexp = regexp || /.*/;
var filesArray = Array.prototype.slice.call(this);
var base64PromisesArray = filesArray.
filter(function(file){
return (regexp).test(file.name)
}).map(function(file){
return file.convertToBase64();
});
return Promise.all(base64PromisesArray);
};
$("#asd").on('change',function(){
var selectedFile = this.files[0];
selectedFile.convertToBase64().
then(function(obj){
alert(obj.result);
});
});
this.files.convertAllToBase64(/\.(png|jpeg|jpg|gif)$/i).then(function(objArray){
objArray.forEach(function(obj, i){
console.log("result[" + obj.fileName + "][" + i + "] = " + obj.result);
});
});
})
এইচটিএমএল
<input type="file" id="asd" multiple/>