Laravel Packages

Simple Media Management with the Artifact Package for Laravel

Published
Simple Media Management with the Artifact Package for Laravel image

Laravel Artifact is a lightweight package for simple media management in Laravel. It streamlines file uploads, storage, retrieval, and supports public/private disks and signed URLs.

use LaravelJutsu\Artifact\Concerns\HasArtifacts;
use Illuminate\Database\Eloquent\Model;
 
class User extends Model
{
   use HasArtifacts;
 
   // Single file relationship
   public function avatar()
   {
       return $this->singleArtifact('avatar');
   }
 
   // Multiple files relationship
   public function documents()
   {
       return $this->manyArtifacts('documents');
   }
}

After you define relationships on your model(s), uploading and accessing files becomes straightforward using the package's API. Whether you need to store multiple files at once or just one, the package offers a simple solution:

// Store a single file (one-to-one)
$artifact = $user->avatar()->store($file);
 
// Store multiple files (one-to-many)
$artifacts = $user->documents()->store(request()->file('documents'));
 
// Specify storage disk
$artifact = $user->avatar()->store($file); // Uses default disk
$artifacts = $user->documents()->store($files, 'public');
 
// Access
$avatar = $user->avatar;
$avatar->rawUrl();
$avatar->rawUrl();
$avatar->streamUrl();
$avatar->signedUrl();
$avatar->temporarySignedUrl(60);

Main Features

  • Simple file upload and storage management
  • Support for multiple storage disks (local, S3, etc.)
  • Automatic deduplication to prevent duplicate files
  • Signed URLs for secure file access
  • Clean one-to-one and one-to-many file relationships
  • Automatic metadata tracking (filename, MIME type, size)

🧑‍💻 You can get started with this package on GitHub: ludoguenet/laravel-artifact

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
Screenshot: Capture Images and PDFs with PHP and Laravel image

Screenshot: Capture Images and PDFs with PHP and Laravel

Read article
Reset Sticky Database Connections Between Laravel Queue Jobs image

Reset Sticky Database Connections Between Laravel Queue Jobs

Read article
PHP Security Releases Fix Two Critical RCE Vulnerabilities image

PHP Security Releases Fix Two Critical RCE Vulnerabilities

Read article
Prevent Stale Database Reads in Laravel 13.38 image

Prevent Stale Database Reads in Laravel 13.38

Read article
Critical PHP Security Release Coming Tomorrow (October 21) image

Critical PHP Security Release Coming Tomorrow (October 21)

Read article
Critical Token Guard Auth Bypass Fixed in Laravel 13.29 and 12.68 image

Critical Token Guard Auth Bypass Fixed in Laravel 13.29 and 12.68

Read article