مهدی مومنی هستم علاقه مند به برنامه نویسی وب ، بیشتر از دو سال که python و django کار می کنم و دوست دارم چیز هایی که یاد میگیرم را با بقیه به اشتراک بزارم .... وبسایت شخصی من https://mahdimomeni.ir
آپلود فایل در لاراول با livewire
به نام خدا .
برای آپلود فایل ابتد باید یک فرم Html داشته باشیم .
<form wire:submit.prevent="store">
<label> file: </label>
<input type="file" wire:model="image">
<button type="submit">Submit</button>
</form>
حالا وارد کامپوننت مربوطه می شویم .
1) قطعه کد زیر را بیرون از کلاس کامپوننت می نویسیم :
use Livewire\WithFileUploads;
2) و قطعه کد زیر را داخل کلاس کامپوننت می نویسیم :
use WithFileUploads;
داخل فایل مادل مربوط به دیتابیس جدول مربوطه را بشناسانید :
مثلا
$table = "posts"
در اینجا posts اسم جدولی است که میخواهیم مادل به آن وصل شود و نام عکس در ان ذخیره شود.
حالا مایگریشن را اماده میکنیم و ان را migrate میکنیم فرض کنید جدول پست فقط دو ستون به اسم های image و id دارد.
آی دی اتو انکریمنت است .
داخل کلاس کامپوننت کد زیر را می نویسیم :
public $image;
public function store()
{
$post = new Post();
$imageName = Carbon::now()->timestamp.'.'.'jpg';
$this->image->storeAs('img',$imageName);
$post->image = $this->image;
$post->save();
return redirect(route('index'));
}
حالا وارد مصیر زیر شود :
config/filesystems.php
در disks / local ، روت (root) را پیدا کنید .
میبینید که کد زیر نوشته شده است :
'root' => storage_path('app')
آن را حذف کنید و کد زیر را بنویسید :
'root' => public_path('assets')
حالا وارد مصیر زیر شوید :
public/assets
اگر در public پوشه ای به اسم assets ندارید یکی بسازید و داخل آن یک پوشه جدید به اسم img بسازید تا عکس ها داخل آن ذخیره شوند .
پیروز و موفق باشید .
مهدی مومنی
مطلبی دیگر از این انتشارات
اعتبار سنجی فرم ها در لاراول
مطلبی دیگر از این انتشارات
بزرگترین گروه برنامه نویسان لاراول در واتساپ
مطلبی دیگر از این انتشارات
مفهوم مدیریت وابستگی در لاراول یکبار برای همیشه!