Optimize uploaded images on the fly with Bytepoint in Laravel. Fits nicely into your existing workflow
$file = $request->file('image');
$file->bytepoint([
'type' => 'jpeg'
])
->store('avatars');
You can install the package via composer:
composer require flixtechs-labs/laravel-bytepoint
You can publish the config file with:
php artisan vendor:publish --tag="laravel-bytepoint-config"
This is the contents of the published config file:
return [
'token' => env('BYTEPOINT_TOKEN', ''),
'url' => env('BYTEPOINT_URL', ''),
];
To use this package you to first to obtain an API token from Bytepont
Visit https://bytepont.flixtechs.co.zw and create an account
On the profile page at the bottom click on "generate token" and copy the token to your .env file as follows
BYTEPOINT_TOKEN=XXXXXX
Add another optional enviroment variable
BYTEPOINT_URL=https://bytepoint.flixtechs.co.zw/api/v1/images
After this, all you need to do is hook bytepoint into your existing workflow.
This package adds a fluent bytepoint()
helper to the UploadedFile
object which accepts an array options as arguments.
Currently you can only specifiy the resulting file type, more options coming soon!
$request->file('image')->bytepoint(['type' => 'resulting type'])->store('avatars');
list of accepted file types
- webp
- png
- jpeg
Just call bytepoint before you save the file storage or any other media library that you are using
You can also optimize existing images using the Bytepoint facade
use FlixtechsLabs\Bytepoint\Facades\Bytepoint;
Bytepoint::optimize($filePath, $destinationPath, $fileName = '', $options = []);
The parameters are as follows
- the file
$filePath
is the path to file you want to optimize $destinationPath
is the path to save the optimized file$fileName
is the name of the file, this is optional though$options
an array of options to tell bytepoint how to optimize the image, currently you can only set the resulting file to eitherwebp,jpeg,png
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.