مهدی مومنی هستم علاقه مند به برنامه نویسی وب ، بیشتر از دو سال که 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 بسازید تا عکس ها داخل آن ذخیره شوند .
پیروز و موفق باشید .
مهدی مومنی
مطلبی دیگر از این انتشارات
آموزش لاراول - مقدمه
مطلبی دیگر از این انتشارات
چرا لاراول را انتخاب کنیم؟
مطلبی دیگر از این انتشارات
تغییرمسیر های تو در تو برای فریمورک لاراول