inwave/laravel-uploadcare

This package is abandoned and no longer maintained. No replacement package was suggested.

Laravel Serviceprovider for Uploadcare

v1.6.2 2017-11-28 21:06 UTC

This package is auto-updated.

Last update: 2023-04-20 17:52:29 UTC


README

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