31/10
2017
ImageTrait for laravel. Upload/Delete image and thumb image, store path in DB
for Hacktoberfest 2017, (*1)
ImageTrait for Laravel 5.4, (*2)
Handle image file upload and DB storage for a image file: - on CREATE: * stores the image file at the destination path * generates a name * stores the path in the DB;, (*3)
composer require yashenkov/laravel-imagetrait
Download ImageTrait.php, than place it in app/Traits. Replace namespase "Yashenkov\ImageTrait\Traits" by "App\Traits"
In your model, that have image attribute you need to add in Model use ImageTrait, for example:, (*4)
<?php namespace App\Models; use App\Traits\ImageTrait; use Illuminate\Database\Eloquent\Model; class Product extends Model { use ImageTrait; ... }
Then you can use method of the trait in Model class as mutator of image attribute:, (*5)
<?php namespace App\Models; use App\Traits\ImageTrait; use Illuminate\Database\Eloquent\Model; class Product extends Model { use ImageTrait; public $disk = "uploads"; public $destination_path = "products"; public $imageWidth = 270; public $imageHeight = 270; /** * Mutators */ public function setImageAttribute($value, $attribute_name = 'image') { $this->uploadImageToDisk($value, $attribute_name, $this->disk, $this->destination_path, $this->imageWidth, $this->imageHeight); } }
MIT, (*6)