راکت
حل شده

خطا آپلود فایل لاراول

25 پاسخ

با سلام
وقت بخیر
بنده در لاراول میخوام عملیات آپلود رو انجام بدم ولی با ارور زیر برخورد می‌کنم و مطالبی در موردش پیدا نکردم.
با livewire می‌خوام آپلود رو انجام بدم.
این هم ارور:

Call to a member function getClientOriginalName() on string 

کدهای قسمت کنترلر

$user = new User();
        $user->ip_id = $ip->id;
        $user->name = $this->name;
        $user->email = $this->email;
        $user->password = bcrypt($this->password);
        $photo = $this->photo;
        $photoName = Carbon::now()->timestamp . '.' . $this->photo->extension();
        $this->photo->storeAs('images', $photoName);
        $user->is_activated = 1;
        $user->is_deleted = 0;
        $user->save();

کدهای قسمت ویو(فرم):

<form wire:submit.prevent="store" class="form-horizontal" enctype="multipart/form-data">
            @csrf
            <div class="row">
                <div class="form-group col-md-3">
                    <label class="form-label" for="text-input">نام و نام خانوادگی</label>
                    <input wire:model="name" type="text" id="text-input" class="form-control"
                           placeholder="محمد صالحی">
                </div>
                <div class="form-group col-md-3">
                    <label class="form-label" for="email-input">ایمیل (پست الکترونیکی)</label>
                    <input wire:model="email" type="email" id="email-input" class="form-control"
                           placeholder="sample@sample.com">
                </div>
                <div class="form-group col-md-3">
                    <label class="form-label" for="password-input">رمز عبور</label>
                    <input wire:model="password" type="password" id="password-input" class="form-control"
                           placeholder="*******">
                </div>
                <div class="form-group col-md-3">
                    <label class="form-label" for="role-input">نقش کاربر</label>
                    <select wire:model="roleSelect" id="role" class="form-control">
                        <option>نقش کاربر را انتخاب کنید ...</option>
                        @foreach($roles as $role)
                            <option value="{{ $role->id }}">{{ $role->title }}</option>
                        @endforeach
                    </select>
                </div>
            </div>
            <div class="card-footer">
                <button type="submit" wire:loading.attr="disabled" class="btn btn-success">
                    <i class="fa fa-dot-circle-o"></i>
                    ثبت
                </button>
            </div>
        </form>

لطف می‌کنید بررسی کنید
ورژن لاراول : 6

ثبت پرسش جدید

پاسخ‌ها

25
سبحان مولایی
سبحان مولایی
@websaz

تخصص: برنامه‌نویس وب: Python :: Django :: Node :: Php :: Laravel :: JS :: React :: React Native

بهترین پاسخ

سلام ورژن لایو وایر شما بسیار پایین است ( ورژن لایو وایر در حال حاضر 2.4.4 هست)
و قابلیت استفاده از wire:model در input ها با تایپ فایل در ورژن 1.2.0 اضافه شده است پس شما برای استفاده از این ویژگی و ویژگی های دیگر و بهره بری از امنیت بهتر ورژن لایو وایر رو ( با توجه به این لینک) اپدیت کنید.

@yaskabod73

محمد صالحی
محمد صالحی
@yaskabod73

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

سلام ممنون جناب @websaz
جالبه که میگه موجود نیست و خطا زیر رو میده.

 Trait 'Livewire\WithFileUploads' not found 

ورژن Livewire بنده:
0.7.4

ولی ما بقیه عملیات‌های CRUD به درستی انجام میشه؟!!!!

رضا پارسیان
رضا پارسیان
@Rp76

تخصص: توسعه دهنده Php , Laravel

سلام حاجی تونستی توی واتساپ بهم پیام بده خواهشا.

واتساپ

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

محمد صالحی
محمد صالحی
@yaskabod73

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

سلام ممنون آقای مولایی
مشکلم حل شد، لطف کردید
@websaz

سبحان مولایی
سبحان مولایی
@websaz

تخصص: برنامه‌نویس وب: Python :: Django :: Node :: Php :: Laravel :: JS :: React :: React Native

خواهش می کنم. اگه راهگشا بود به عنوان پاسخ برتر انتخاب کنید ممنون

صفحه 2 از 2

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

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