راکت

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

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

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

ثبت پرسش جدید

پاسخ‌ها

1
میلاد خسروی
میلاد خسروی
@milwad

تخصص: برنامه نویس بامزه

سلام خسته نباشید
میتونستی از 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 بگیر ببین اطلاعات درست ارسال میشه یا نه

شاید پاسخ شما همین‌جا باشد

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

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