yashenkov / laravel-imagetrait
ImageTrait for laravel. Upload/Delete image and thumb image, store path in DB
Installs: 16
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 1
Type:package
This package is not auto-updated.
Last update: 2024-05-16 03:32:08 UTC
README
for Hacktoberfest 2017
ImageTrait for Laravel 5.4
Requirements
- laravel 5.4^ (Because trait uses Storage and Image class of laravel package)
Features
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;
- on UPDATE:
- if the value is null, deletes the image file and sets null in the DB
- if the value is different, stores the different image file and updates DB value.
Installing #1
composer require yashenkov/laravel-imagetrait
Installing #2
Download ImageTrait.php, than place it in app/Traits.
Replace namespase "Yashenkov\ImageTrait\Traits" by "App\Traits"
Using:
In your model, that have image attribute you need to add in Model use ImageTrait, for example:
<?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:
<?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); } }
##Licence MIT