سلام دوستان وقت بخیر
میخواستم برای فایل (تصویر) هست، دوتا شرط رو چک کنم ۱- تعداد تصاویر ۲- سایز هر تصویر. در واقع یک فرم دارم که چند تا عکس رو میشه اپلود کرد و من میخوام تعداد رو تصاویری که اپلود میشه از 5 تا بیشتر نباشه و سایز هر کدوم از تصاویر هم از 5 مگ بیشتر نباشه. در مورد این سوال ممنون میشم کمکم کنید
ممنون
سلام رضا جان
اگر میخوای داخل ولیدشن لاراول این کار رو انجام بدی میتونی از متد max
برای هندل کردن این مورد استفاده کنی
$this->validate($request, [
'images.*' => 'mimes:jpg,jpeg,bmp,png|max:5120',
'images' => 'max:5',
],[
"images.max" => "تعداد :attribute باید کمتر از :max باشد",
]);
max
اول حجم هر تصویر رو بررسی میکنه و max
دوم تعداد تصاویر
سلام
dropzone رو من توصیه نمیکنم . دست ادم رو میبنده
مثل کد زیر مربوط به vue jsاست البته میتوند کدهای اضافه رو پاک کنید
uploadFile (e) {
let files = e.dataTransfer ? e.dataTransfer.files : e.target.files
let EXTS = ["jpg","png"]
let MAX_SIZE = 1
if(files.length>15)
//
if (!files) return;
await ([...files]).forEach((file,index) => {
const ext = file.name.substr(file.name.lastIndexOf('.') + 1).toLocaleLowerCase()
if (!EXTS.includes(ext))
return this.$toast.error('فرمت فایل مورد قبول نیست'+ext, {
position: 'bottom-left'
})
if (this.totalSize + file.size > MAX_SIZE)
return this.$toast.error('حجم فایل مورد نظر بیش از اندازه مجاز است.', {
position: 'bottom-left'
})
if (1 || file.size <= this.MAX_SIZE) {
let items =file;
let reader = new FileReader();
reader.onload =async (e)=>{
// await this.uploaded
//await this.$nextTick()
let item ={file:file,src: e.target.result};
all_items.unshift(item)
/*this.$store.dispatch('uploadItemToServer' , {
items
})*/
this.$nextTick(() => {
})
/* this.$store.dispatch('updateItems' , {
items ,
})*/
// vm.src .push ( e.target.result) ;
// vm. showModal()
// vm. showModal()
// document.getElementById('image-upload-box').appendChild(document.getElementById('file-upload-1'));
}
reader.readAsDataURL(files[index]);
}
});
this.$store.dispatch('uploadItemToServer' , {
items:all_items,
getItems:new_getItems,
})
}
سلام رضا جان
اگر میخوای داخل ولیدشن لاراول این کار رو انجام بدی میتونی از متد max
برای هندل کردن این مورد استفاده کنی
$this->validate($request, [
'images.*' => 'mimes:jpg,jpeg,bmp,png|max:5120',
'images' => 'max:5',
],[
"images.max" => "تعداد :attribute باید کمتر از :max باشد",
]);
max
اول حجم هر تصویر رو بررسی میکنه و max
دوم تعداد تصاویر
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟