آپلود عکس آواتار برای کاربر

3 سال پیش توسط Rimer آپدیت شد
آفلاین
user-avatar
Rimer ( 370 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

0

سلام من به تازگی دارم با لاراول کار میکنم
به قسمت register خود لاراول یه فیلد تصویر اضافه کردم ولی بعد از آپلود، عکس رو به صورت string و فقط اسم عکس رو دریافت میکنه
وقتی هم که به validator اضافه میکنم که اون فیلد باید عکس باشه، اصلا فرم ارسال نمیشه.. در صورتی که برای اضافه کردن عکس در جا های دیگه مشکلی ندارم..
اکه کمک کنید ممنون میشم
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
'photo' => 'image|max:2048'
]);
}

protected function create(array $data)
{
    $file = $data['photo'];
    $fileName = time().'_'.$file->getClientOriginalName();
    $destinationPath = public_path().'/avatars';
    $file->move($destinationPath, $fileName);
    return User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),
        'photo' => $fileName,
    ]);
}
آفلاین
user-avatar
حسام موسوی ( 434637 تجربه )
3 سال پیش
تخصص : طراح و برنامه نویس

لینک کوتاه اشتراک گذاری

0

سلام مشخصه دیگه شما اومدین filename رو قرار دادین داخل اطلاعات کاربر که فقط شامل نام تصویر میشه شما باید ادرس اپلود شده رو ذخیره کنید
این دو رو بهم متصل کنید $destinationPath, $fileName

آفلاین
user-avatar
Rimer ( 370 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

0

ببینید آقای موسوی من برای ذخیره در دیتا بیس مشکلی ندارم.. حالا اسم عکس رو ذخیره میکنم.. میشه اینجوری که شما گفتید هم آدرس رو ذخیره کرد درسته ولی این مهن نیست
مهم اینجاست که الان داخل $data['photo'] فقط یه string هست که اونم اسم عکس هست یعنی object نیست.. خیلی عجیبه برام

آفلاین
user-avatar
حسام موسوی ( 434637 تجربه )
3 سال پیش
تخصص : طراح و برنامه نویس

لینک کوتاه اشتراک گذاری

0

دوست عزیز اونجا نباید object قرار بگیره اونجا آدرس دقیق تصویر بصورت String قرار میگیره در بالا هم گفتم با ترکیب اون دوتا میتونید آدرس دقیق رو مشخص کنید

آفلاین
user-avatar
Rimer ( 370 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

0

جناب موسوی من فکر میکنم شما متوجه مشکلم نشدید...
الان من اصلا نمیتونم $filename بسازم چون من اصلا نمیتونم getClientOrginalName رو روی $file اجرا کنم.. چون ارور میده که دارید این فانکشن رو روی string اجرا میکنید
حالا یه فکری براش میکنم به هر حال ممنونم از وقتی که گذاشتید

برای ارسال پاسخ لازم است، ابتدا وارد سایت شوید.