Armin Rahmati
2 سال پیش توسط Armin Rahmati مطرح شد
1 پاسخ

آپلود نشدن عکس

سلام دوستان.
من واسه آپلود عکس به صورت زیر کدامو نوشتم.

protected function uploadImage($image = '')
    {
        $path = 'upload/images';
        if (request()->hasFile('image') && $files = request()->file('image'))
            $image = $files->store($path, 'public_files');
        return $image;
    }
public function store(CreateEventRequest $request)
    {
        $data = $request->validated();
        $image = $this->uploadImage();
        if ($request->hasFile('image')) {
            $data['image'] = $image;
        }
        auth()->user()->events()->create($data);
        session()->flash('status', 'رویداد با موفقیت ایجاد شد');
        return redirect()->route('events.index');
    }
public function rules()
    {
        return [
            'title' => ['required', 'string', 'min:5', 'max:255'],
            'category_name' => ['required'],
            'date' => ['required', 'shamsi_date'],
            'hour' => ['required'],
            'price' => ['required', 'integer'],
            'quantity' => ['required', 'integer'],
            'lecturer' => ['required', 'persian_alpha'],
            'image' => ['required'],
            'description' => ['required']
        ];
    }
<div class="form-group">
    <label for="image">عکس</label>
    <input type="file" class="form-control" name="image">
</div>
@error('image')
    <p id="error">{{ $message }}</p>
@enderror
protected $fillable = ['user_id', 'title', 'slug', 'category_name', 'date', 'hour', 'price', 'quantity', 'ticket', 'lecturer', 'image', 'description'];

ولی در متد uploadImage شرط if اجرا نمیشه، در واقع خروجی کد زیر:

dd(request()->hasFile('image'));
false

هست.
ممنون میشم راهنمایی بفرمایید.


ثبت پرسش جدید
میلاد خسروی
تخصص : برنامه نویس بامزه
@milwad 2 سال پیش مطرح شد
0

سلام خسته نباشید
میتونستی از storage کمک بگیری و کدت بهتر کنی

protected function uploadImage($image = '')
    {
        $path = 'upload/images';
 $files = request()->file('image')
        if (request()->hasFile('image') && $files)
            $image = $files->store($path, 'public_files');
        return $image;
    }

بعد بیا تو این فانکشن dd بگیر ببین اطلاعات درست ارسال میشه یا نه


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام