ozankurt/imgur-laravel

A wrap-up package to make works easier with imgur.

10.0 2023-07-02 20:53 UTC

This package is auto-updated.

Last update: 2024-04-03 13:08:51 UTC


README

A Laravel 5.4 package to simplify Imgur Api Client. For detailed information about how to use the Imgur client itself please check the documentation of Imgur Api Client.

Usage

Check the available methods from ImgurLaravel-API.

Image Api Example

<?php

namespace App\Http\Controllers;

use App\Http\Requests;
use Illuminate\Http\Request;

use Kurt\Imgur\Imgur;

class HomeController extends Controller
{
    /**
     * Imgur instance.
     *
     * @var \Kurt\Imgur\Imgur
     */
    private $imgur;

    public function __construct(Imgur $imgur)
    {
        $this->imgur = $imgur;
    }

    /**
     * Retrieve an image by its id.
     * 
     * @return \Imgur\Api\Model\Image
     */
    public function getImage(Request $request)
    {
        $imageApi = $this->imgur->getImageApi();

        $imageModel = $imageApi->image(
            $request->input('id')
        );

        return $imageModel;
    }

    /**
     * Upload an image with a given url or a file.
     * 
     * @return \Imgur\Api\Model\Image
     */
    public function getUpload(Request $request)
    {
        // Upload with a url.
        $imageModel = $this->imgur->uploadFromUrl(
            $request->input('image_url')
        );

        // Upload with a file.
        $imageModel = $this->imgur->upload(
            $request->file('image')
        );

        return $imageModel;
    }
}

Installation

Step 1

Add ozankurt/imgur-laravel to your composer requirements.

composer require ozankurt/imgur-laravel

Step 2

Add the imgur.client_id and imgur.client_secret to the config/services.php file.

    'imgur' => [
        'client_id' => env('IMGUR_CLIENT_ID'),
        'client_secret' => env('IMGUR_CLIENT_SECRET'),
    ],

Step 3

Update your .env file with the values you get from imgur.

You can create the imgur application from here.

IMGUR_CLIENT_ID=
IMGUR_CLIENT_SECRET=

Step 4

Add the service provider to the config/app.php file.

    'providers' => [
        // ...

        Kurt\Imgur\ImgurServiceProvider::class,
    ],