Skip to content

ghostcompiler/laravel-uploads

Repository files navigation

Laravel Uploads Logo

Laravel PHP Laravel Storage

Laravel Uploads manages local/cloud file storage, tracks upload metadata, generates secure tokenized preview URLs, integrates with Eloquent models, and supports real-time image optimization. It also features on-demand proxy streaming for remote URLs with zero local disk footprint.


Installation

Install the package via Composer:

composer require ghostcompiler/laravel-uploads
php artisan install:laravel-uploads
php artisan migrate

Use --force to overwrite any existing assets:

php artisan install:laravel-uploads --force

Basic Usage

Uploading a File

use GhostCompiler\LaravelUploads\Facades\Uploads;

// Store a file under configured defaults
$upload = Uploads::upload($request->file('avatar'));

// Store to a specific directory inside the storage path
$upload = Uploads::upload('avatars', $request->file('avatar'));

Uploading from a URL (Dynamic Proxy Streaming)

You can pass a remote URL string directly. The package will register the reference in the database, proxying it on-demand to hide the source URL and bypass local disk storage:

$upload = Uploads::upload('https://avatar.example.com/user123.jpg');

Resolving Secure URLs

Retrieve secure tokenized URLs to stream or preview private files:

// Generates a secure routing URL expiring in 15 minutes
$url = Uploads::url($upload, 15);

Full Documentation

For detailed guides on configuration settings, Eloquent trait integrations, custom URL resolvers, image optimization pipelines, and Artisan commands, see the:

👉 Laravel Uploads Documentation