একই সমস্যা ছিল এবং নীলিম্প লোকটি বলেছে যে " ম্যাক্সফাইলসাইজ এবং গ্রহণযোগ্য ফাইল টাইপগুলি কেবলমাত্র ইউআই সংস্করণ দ্বারা সমর্থিত " এবং _অডিয়েট এবং _হ্যাসরর পদ্ধতিগুলি অন্তর্ভুক্ত করার জন্য একটি (ভাঙা) লিঙ্ক সরবরাহ করেছে।
সুতরাং কীভাবে এই পদ্ধতিগুলিকে অন্তর্ভুক্ত করা যায় তা না জেনে স্ক্রিপ্টটি গোলমাল না করে আমি এই ছোট ফাংশনটি লিখেছি। এটা আমার জন্য কাজ বলে মনে হচ্ছে।
শুধু এটি যোগ করুন
add: function(e, data) {
var uploadErrors = [];
var acceptFileTypes = /^image\/(gif|jpe?g|png)$/i;
if(data.originalFiles[0]['type'].length && !acceptFileTypes.test(data.originalFiles[0]['type'])) {
uploadErrors.push('Not an accepted file type');
}
if(data.originalFiles[0]['size'].length && data.originalFiles[0]['size'] > 5000000) {
uploadErrors.push('Filesize is too big');
}
if(uploadErrors.length > 0) {
alert(uploadErrors.join("\n"));
} else {
data.submit();
}
},
এখানে আপনার কোড হিসাবে দেখানো হয়েছে। ফাইলআপলোড বিকল্পগুলির শুরুতে
$(document).ready(function () {
'use strict';
$('#fileupload').fileupload({
add: function(e, data) {
var uploadErrors = [];
var acceptFileTypes = /^image\/(gif|jpe?g|png)$/i;
if(data.originalFiles[0]['type'].length && !acceptFileTypes.test(data.originalFiles[0]['type'])) {
uploadErrors.push('Not an accepted file type');
}
if(data.originalFiles[0]['size'].length && data.originalFiles[0]['size'] > 5000000) {
uploadErrors.push('Filesize is too big');
}
if(uploadErrors.length > 0) {
alert(uploadErrors.join("\n"));
} else {
data.submit();
}
},
dataType: 'json',
autoUpload: false,
done: function (e, data) {
$.each(data.result.files, function (index, file) {
$('<p style="color: green;">' + file.name + '<i class="elusive-ok" style="padding-left:10px;"/> - Type: ' + file.type + ' - Size: ' + file.size + ' byte</p>')
.appendTo('#div_files');
});
},
fail: function (e, data) {
$.each(data.messages, function (index, error) {
$('<p style="color: red;">Upload file error: ' + error + '<i class="elusive-remove" style="padding-left:10px;"/></p>')
.appendTo('#div_files');
});
},
progressall: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .bar').css('width', progress + '%');
}
});
});
আপনি লক্ষ্য করবেন যে আমি সেখানে একটি ফাইল আকার ফাংশন যুক্ত করেছি কারণ এটি কেবলমাত্র ইউআই সংস্করণেও কাজ করবে।
@ ল্যাপসাইড দ্বারা প্রস্তাবিত অতীত ইস্যুটি পেতে আপডেট হয়েছে: যুক্ত হয়েছে data.originalFiles[0]['type'].length
এবং data.originalFiles[0]['size'].length
ত্রুটিগুলির পরীক্ষার আগে পরীক্ষার আগে খালি নয় তা নিশ্চিত করার জন্য অনুসন্ধানগুলিতে। যদি সেগুলি বিদ্যমান না থাকে তবে কোনও ত্রুটি প্রদর্শিত হবে না এবং এটি কেবল আপনার সার্ভারের পাশের ত্রুটি পরীক্ষার উপর নির্ভর করবে।