Looking to hire Laravel developers? Try LaraJobs

laravel-uploadcare maintained by inwave

Description
Laravel Serviceprovider for Uploadcare
Last update
2017/11/28 22:06 (dev-master)
License
Downloads
38 557

Comments
comments powered by Disqus

Uploadcare for Laravel

This is a simple Laravel service provider for Uploadcare's official PHP library. It is a fork from altitude/laravel-uploadcare and the pull request from dimaninc to make it compatible with Laravel 5. This package is now maintained by me.

Installation after laravel 5.5

  1. install package by composer:
composer require inwave/laravel-uploadcare

This package will auto discover itself, therefore there is no need to add files to the app.php. Further more it will also autodiscover it's dependencies.

  1. Publish the config file:
php artisan vendor:publish
  1. Add the required config variables in the .env file:
UPLOADCARE_PUBLIC_KEY=
UPLOADCARE_PRIVATE_KEY=

Installation pre laravel 5.5

First, add this to your composer.json file

"require": {
    "laravelcollective/html": "5.1.*",
    "inwave/laravel-uploadcare": "~1.3"
}

Then, create config/uploadcare.php with the following

<?php

return array(
    'public_key'  => 'YOUR_UPLO ADCARE_PUBLIC_KEY_HERE',
    'private_key' => 'YOUR_UPLOADCARE_PRIVATE_KEY_HERE',
);

Best practice would be to put the keys in your .ENV file.

Finally, add the service provider and alias in your config/app.php

'providers' => array(
    ...

    Illuminate\Html\HtmlServiceProvider::class,
    Inwave\LaravelUploadcare\LaravelUploadcareServiceProvider::class,
);

'aliases' => array(
    ...

    'Form' => Illuminate\Html\FormFacade::class,
    'HTML' => Illuminate\Html\HtmlFacade::class,
    'Uploadcare' => Inwave\LaravelUploadcare\Facades\Uploadcare::class,
);

And you should be good to go.

Example

This Service extends Uploadcare's API class so you can use any of its methods.

It also provides the form macro Form::uploadcare($field_name, $value = null, $options = array()).

app/Http/routes.php


Route::get('/demo', function(){
    return View::make('demo/demo');
});

Route::post('/demo', function(){
    echo Uploadcare::getFile(Input::get('image'))->getUrl();
});

resources/views/demo/demo.blade.php

<html>
<head>
    <title>Uploadcare Demo</title>
</head>
<body>
    <form method="POST" action="/demo">
        {!! Form::uploadcare('image', null, array('data-crop' => '3:4')) !!}
        <input type="submit">
    </form>
    {!! Uploadcare::scriptTag() !!}
</body>
</html>

For more information, please check the offical documentation

License

MIT license