dev-master
9999999-devLaravel Storager
MIT
The Requires
- php >=5.5.0
- illuminate/support >=5.0.0
- league/flysystem >=1.0
- symfony/http-foundation >=2.0
- ext-gd *
laravel api file storage storager
Wallogit.com
2017 © Pedro Peláez
Laravel Storager
Install File API, (*1)
composer require wielski/laravel-fileapi
Set service provider in config/app.php, (*2)
Wielski\FileApi\FileApiServiceProvider::class,
publish config file, (*3)
php artisan vendor:publish --tag=fileapi_config
in config/fileapi.php, (*4)
fill in the storage path, which make routes for you., (*5)
'path' => ['/images/event/', '/images/article/'],
it will generate routes like below :, (*6)
Route::get('/images/event/{filename}', function ($filename) {
$entry = new \Wielski\FileApi\FileApi('/images/event/');
return $entry->getResponse($filename);
});
Route::get('/images/article/{filename}', function ($filename) {
$entry = new \Wielski\FileApi\FileApi('/images/article/');
return $entry->getResponse($filename);
});
set default thumb sizes(by key and value), (*7)
'default_thumbs' => ['S' => '96x96', 'M' => '256x256', 'L' => '480x480'],
use \Wielski\FileApi\FileApi;
$fa = new FileApi(); # use default path (as '/images/')
$fa_event = new FileApi('/images/event/'); # initialize it by giving a base path
$fa_article = new FileApi('/images/article/'); # initiate another instance
Default Usage : get unique filename, (*8)
$file = $fa->save(\Input::file('main_image')); // => wfj412.jpg
Custimize your upload file name, (*9)
$file = $fa->save(\Input::file('main_image'), 'custom-file-name'); // => custom-file-name.jpg
By default will set three thumbs(equal scaling), (*10)
Set custom thumb sizes, (*11)
$file = $fa
->thumbs([
'S' => '150x100',
'M' => '300x200',
'L' => '450x300'
])
->save(\Input::file('main_image'));
make cropped thumbs, (*12)
$file = $fa->crop()->save(\Input::file('main_image'));
$fa->get('wfj412.jpg'); // => get image url of 'L' size
$fa->get('wfj412.jpg', 'M'); // => get image url of 'M' size
$fa->get('wfj412.jpg', 'full); // => get image url of full size
$fa->drop('wfj412.jpg');
$fa->getPath('wfj412.jpg'); // => '/images/event/wfj412.jpg'
if you store your file into cloud storage and you want to get url cloud site, you can use url() method to get it, (*13)
echo $fa->getUrl('wfjsdf.jpg'); // => "https://s3-ap-northeast-1.amazonaws.com/xxx/xxx/55c1e027caa62L.png"
In your app.php add alias for FileApi class, (*14)
'FileApi' => Wielski\FileApi\FileApi::class,
Using in Blade:, (*15)
{{ FileApi::getFile('/images/avatars/', 'image.jpg', 'S') ?: 'default.jpg' }}
Get file content, (*16)
\Storage::get($fa->getPath('wfj412.jpg'));
Write files, (*17)
\Storage::put($fa->getPath('wfj412.jpg'));
Get Mime Type, (*18)
\Storage::mimeType($fa->getPath('wfj412.jpg'));
Laravel Storager
MIT
laravel api file storage storager