PHPackages                             aammui/laravel-media - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. aammui/laravel-media

ActiveLibrary[Image &amp; Media](/categories/media)

aammui/laravel-media
====================

File and Image uploader for laravel.

v3.0.0(3y ago)4491MITPHPPHP ^8.1

Since Feb 24Pushed 1y ago2 watchersCompare

[ Source](https://github.com/bedus-creation/laravel-media)[ Packagist](https://packagist.org/packages/aammui/laravel-media)[ Docs](https://github.com/bedus-creation/MediaHandle)[ RSS](/packages/aammui-laravel-media/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (8)Dependencies (6)Versions (18)Used By (0)

Laravel Media Handler
=====================

[](#laravel-media-handler)

Laravel Media Handler package.

### Content

[](#content)

1. [Installation](https://github.com/bedus-creation/laravel-media#installation)
2. [Publish Assets and Migration](https://github.com/bedus-creation/laravel-media#publish-assests)
3. [Use Trait in model](https://github.com/bedus-creation/laravel-media#add-hasmedia-trait-to-your-model)
4. [Call from anywhere](https://github.com/bedus-creation/laravel-media#use-with-model-form-whereever)
5. [Standalone Media](https://github.com/bedus-creation/laravel-media#standalone-media)

### Installation

[](#installation)

```
composer require aammui/laravel-media

```

**Laravel Compatibility**

Laravel VersionRole Permission VersionInstallation10.x`composer require aammui/laravel-media:3.0.0`9.x2.0.0`composer require aammui/laravel-media:2.0.0`8.x, 7.x, 6.x1.0.0`composer require aammui/laravel-media:1.0.0`### Publish assests

[](#publish-assests)

```
php artisan vendor:publish --provider="Aammui\LaravelMedia\LaravelMediaServiceProvider"
php artisan migrate

```

### Add `HasMedia` Trait to your model.

[](#add-hasmedia-trait-to-your-model)

```
use Aammui\LaravelMedia\Traits\HasMedia;
use Illuminate\Database\Eloquent\Model;

class Document extends Model
{
    use HasMedia;
}
```

### Use with model form whereever.

[](#use-with-model-form-whereever)

```
$user->addMedia(request()->file);
$user->toCollection('profilePicture')
    ->addMedia(request()->file);
$user->toCollection('profilePicture')
     ->toDisk('public')
    ->addMedia(request()->file);
$user->toCollection('profilePicture')
     ->toDisk('public')
    ->addMedia(request()->file);
```

### Add Media From URL

[](#add-media-from-url)

`This doesnot download media into your storage.` It just add url to the database and when your application serve, media will load from remote url.

```
$user->addMediaFromUrl('http://example.com/image.jpeg');
```

##### Download and Add Media From Remote URL.

[](#download-and-add-media-from-remote-url)

```
$user->setDownloadTrue()
    ->addMediaFromUrl('http://example.com/image.jpeg');
```

### Retrive media from your model

[](#retrive-media-from-your-model)

```
$user->getMedia();
$user->fromCollection('profilePicture')
    ->fromDisk('local')
    ->getMedia();
```

### Setup Responsive images

[](#setup-responsive-images)

The standard responsive image size can be defined into the configuration file. The original image will be resized into the different sizes defined in configuration.

```
use Aammui\LaravelMedia\Enum\Responsive;

'responsive'=>[
   'responsive' => [
        Responsive::SM => [
            'w' => 50,
            'h' => 50,
        ],
        Responsive::MD => [
            'w' => 150,
            'h' => 150,
        ],
        Responsive::LG => [
            'w' => 600, // Can define either height or width only.
        ],
    ],
];
```

##### Only Particular size of image:

[](#only-particular-size-of-image)

```
use Aammui\LaravelMedia\Facades\Media;
use Aammui\LaravelMedia\Enum\Responsive;

Media::ofSize([Responsive::SM,Responsive::MD])
    ->addMedia(request()->file);
```

### Enable Image optimization

[](#enable-image-optimization)

```
'optimize'=>true

```

### Standalone Media

[](#standalone-media)

Suppose you want to add file which doesnot belong to any model, then you can create standalone media. Use case could be you are storing images in description of some products in ecommerce shop, Where you simply store images in database before the product form is submitted via api, which returns public image url.

```
use Aammui\LaravelMedia\Facades\Media; // Use Media facade instead

Media::addMedia(request()->file); // returns Media Object
Media::toCollection('profilePicture')
    ->addMedia(request()->file); // returns Media Object while storing grouping files in profilepicture
Media::toCollection('profilePicture')
    ->toStorage('s3')
    ->addMedia(request()->file); // returns Media Object while storing files in s3
```

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance29

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity74

Established project with proven stability

 Bus Factor1

Top contributor holds 95% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~72 days

Recently: every ~169 days

Total

16

Last Release

1181d ago

Major Versions

v0.7.0 → 1.0.02021-02-08

v1.1.0 → v2.0.02022-04-17

v2.0.0 → v3.0.02023-02-16

PHP version history (5 changes)0.1.0PHP ^7.2

1.0.0PHP ^7.2.5|^8.0

1.0.1PHP ^7.2|^8.0

v2.0.0PHP ^7.4|^8.0

v3.0.0PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/cf8c945207e550cfcd88c4de4bb813229578072eb2bdf5a96238efe6ce3ae0c8?d=identicon)[bedus\_creation](/maintainers/bedus_creation)

---

Top Contributors

[![bedus-creation](https://avatars.githubusercontent.com/u/25701752?v=4)](https://github.com/bedus-creation "bedus-creation (38 commits)")[![jobins-bedram](https://avatars.githubusercontent.com/u/221937772?v=4)](https://github.com/jobins-bedram "jobins-bedram (2 commits)")

---

Tags

mediafile-uploaderaammuimedia-uploader

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/aammui-laravel-media/health.svg)

```
[![Health](https://phpackages.com/badges/aammui-laravel-media/health.svg)](https://phpackages.com/packages/aammui-laravel-media)
```

###  Alternatives

[intervention/image-laravel

Laravel Integration of Intervention Image

1496.5M102](/packages/intervention-image-laravel)[talvbansal/media-manager

A media browser and uploader for laravel apps written in vue js and bootstrap

20827.7k4](/packages/talvbansal-media-manager)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)[laraveljutsu/laravel-artifact

Artifact — Lightweight package that just handles basic media management with no fuss.

2111.8k](/packages/laraveljutsu-laravel-artifact)[fleetbase/core-api

Core Framework and Resources for Fleetbase API

1225.0k10](/packages/fleetbase-core-api)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
