Someline Image is a helper service to handle uploaded images and store images without duplicates.
Build for Laravel and Someline Starter.
Install composer package to your laravel project
composer require someline/someline-image
Add Service Provider to config/app.php
'providers' => [
...
Someline\Image\SomelineImageServiceProvider::class,
...
],
Publishing config file.
php artisan vendor:publish
After published, config file for Rest Client is config/someline-image.php
, you will need to config it to use Rest Client.
Route::get('/image/{name}', 'ImageController@showOriginalImage');
Route::post('/image', 'ImageController@postImage');
app/Http/Controllers/ImageController.php
<?php namespace App\Http\Controllers;
use Exception;
use Illuminate\Http\Request;
use Someline\Image\Controllers\SomelineImageController;
use Someline\Image\Models\SomelineImage;
use Someline\Image\SomelineImageService;
class ImageController extends Controller
{
public function postImage(Request $request)
{
$somelineImageService = new SomelineImageService();
$file = $request->file('image');
$somelineImage = null;
try {
/** @var SomelineImage $somelineImage */
$somelineImage = $somelineImageService->handleUploadedFile($file);
} catch (Exception $e) {
return 'Failed to save: ' . $e->getMessage();
}
if (!$somelineImage) {
return 'Failed to save uploaded image.';
}
$somelineImageId = $somelineImage->getSomelineImageId();
return 'Saved: ' . $somelineImage->getImageUrl();
}
public function showOriginalImage($image_name)
{
return SomelineImageController::showImage('original', $image_name);
}
}
phpunit
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.