آفلاین
user-avatar

اپلود فایل

2 سال پیش
توسط sajjad آپدیت شد
آفلاین
user-avatar
bardia ( 22746 تجربه )
2 سال پیش
تخصص : Golang/Laravel

من یه فر م ثبت نام دارم با امکان آپلود فایل
حالا ممکن است کاربر آپلود فایل در طی این ثبت نام را انجام ندهد
میخوام خطا نده بهم
من زمانی که فایل آپلود نمی کنم مطالبی در دیتابیس ثبت نمی شود
@hesammousavi

آفلاین
user-avatar
مرتضی صبیحی ( 9846 تجربه )
2 سال پیش
تخصص : (VueJs) Front-end developer

باید فیلدی که در دیتابیس مسیر فایل رو ذخیره میکنه رو nullable قرار بدهید همچنین تو validation

آفلاین
user-avatar
bardia ( 22746 تجربه )
2 سال پیش
تخصص : Golang/Laravel

@mortezasabihi87
فیلد مربوطه رو روی nullable گذاشتم
منظور از validation توی کنترلر هست به صورت زیر?

        request()->validate([
            'matn' => 'required',
            'datex' => 'required',
            'userfile'=>'required'
       ]);
آفلاین
user-avatar
bardia ( 22746 تجربه )
2 سال پیش
تخصص : Golang/Laravel

@mortezasabihi۸۷
به صورت زیر تعریف کردم

        request()->validate([
            'matn' => 'required',
            'datex' => 'required',
            'userfile'=>'nullable'
       ]);

اینم کدکنترلر من:

$file = $request->file('userfile');
  $destinationPath= 'uploadfile';
  $filename = $file->getClientOriginalName();
  $sizefile=$file->getSize();
  $file->move(public_path($destinationPath), $filename);

       $user=Post::create([
            'menu_id'=> $request->name,
            'user_id'=>auth()->user()->id,
            'body'=>$request->matn,

            'xfile_path' => 'uploadfile/'.$filename,

            $dateCreate =faTOen($request->datex),
            $date = Verta::parse($dateCreate),
            $carbon = Carbon::instance($date->DateTime()),
            $d=$carbon->toDateString(),
            'Expiration_date' =>$d,
            'sizem'=>$sizefile
       ]);

که خط زیر رو خطا میگیره

 $filename = $file->getClientOriginalName();

اینم خطاش:

Call to a member function getClientOriginalName() on null
آفلاین
user-avatar
sajjad ( 8984 تجربه )
2 سال پیش
تخصص : برنامه نویس back end

اول که باید فیلد تصویر توی دیتابیس nullable قرار بدی بعدش بیا یه دستور شرطی قرار بده اگر request->file داشتی یه سری مراحل انجام بده در غیر اینصورت ......

برای ارسال پاسخ باید وارد سایت شوید