PHPackages                             ferdiunal/laravel-nova-media-field - 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. ferdiunal/laravel-nova-media-field

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

ferdiunal/laravel-nova-media-field
==================================

A Laravel Nova media field for Spatie's media library

v1.0.7(1y ago)121741MITPHPPHP ^8.2

Since Jun 27Pushed 1y agoCompare

[ Source](https://github.com/ferdiunal/laravel-nova-media-field)[ Packagist](https://packagist.org/packages/ferdiunal/laravel-nova-media-field)[ Fund](https://buymeacoffee.com/ferdiunal)[ GitHub Sponsors](https://github.com/sponsors/ferdiunal)[ RSS](/packages/ferdiunal-laravel-nova-media-field/feed)WikiDiscussions main Synced 2w ago

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

Laravel Nova Media Field (WIP)
==============================

[](#laravel-nova-media-field-wip)

**Laravel Nova Media Field** is a component designed to integrate seamlessly with Spatie's Media Library, allowing for efficient media file management within Laravel Nova. This package makes it easy to upload, list, and edit media files directly from your Nova dashboard.

Features:
---------

[](#features)

- Easy media file upload
- Previews and edits
- Comprehensive media management

This component enhances the media management experience in Nova, offering a simple yet customizable solution for developers.

Install
-------

[](#install)

```
composer require ferdiunal/laravel-nova-media-field
```

Usage
-----

[](#usage)

```
/**
 * Get the fields displayed by the resource.
 *
 * @return array
 */
public function fields(NovaRequest $request)
{
    return [
        ID::make()->sortable(),
        MediaField::make('Logo', 'logo')
          ->required()
          ->multiple()
          ->vapor()
          ->withResponsive()
          ->validate(
                minSize: 30, // The allowed extensions for the file.
                maxSize: 1024 * 50, // The allowed mime types for the file.
                size: 1024 * 50, // The minimum size of the file.
                image: false, // The maximum size of the file.
                video: false, // The size of the file.
                audio: false, // Whether to allow only image files.
                document: false, // Whether to allow only video files.
                pdf: false, // Whether to allow only audio files.
                txt: false, // Whether to allow only document files.
                json: false, // Whether to allow only PDF files.
                csv: false, // Whether to allow only text files.
                xlsx: false, // Whether to allow only JSON files.
                docx: false, // Whether to allow only CSV files.
                creation: false, // Whether to allow only XLSX files.
                update: false, // Whether to allow only DOCX files.
                default: false, // Whether to apply the rules for creation.
                allowedExtensions: [], // Whether to apply the rules for update.
                allowedMimeTypes: [] // Whether to apply the rules as default.
            )
    ];
}
```

Screenshots
-----------

[](#screenshots)

[![](./pictures/SCR-20240627-mdrz.png)](./pictures/SCR-20240627-mdrz.png)

[![](./pictures/SCR-20240627-mdtu.png)](./pictures/SCR-20240627-mdtu.png)

[![](./pictures/SCR-20240627-mdxj.png)](./pictures/SCR-20240627-mdxj.png)

[![](./pictures/SCR-20240627-meab.png)](./pictures/SCR-20240627-meab.png)

[![](./pictures/SCR-20240627-mebx.png)](./pictures/SCR-20240627-mebx.png)

[![](./pictures/SCR-20240627-meie.png)](./pictures/SCR-20240627-meie.png)

[![](./pictures/SCR-20240627-meke.png)](./pictures/SCR-20240627-meke.png)

[![](./pictures/SCR-20240627-mffm.png)](./pictures/SCR-20240627-mffm.png)

[![](./pictures/SCR-20240627-mfhq.png)](./pictures/SCR-20240627-mfhq.png)

[![](./pictures/SCR-20240627-mfpi.png)](./pictures/SCR-20240627-mfpi.png)

[![](./pictures/SCR-20240627-mhsm.png)](./pictures/SCR-20240627-mhsm.png)

[![](./pictures/SCR-20240627-mhvj.png)](./pictures/SCR-20240627-mhvj.png)

[![](./pictures/SCR-20240627-mieo.png)](./pictures/SCR-20240627-mieo.png)

[![](./pictures/SCR-20240627-miig.png)](./pictures/SCR-20240627-miig.png)

[![](./pictures/SCR-20240627-mijz.png)](./pictures/SCR-20240627-mijz.png)

[![](./pictures/SCR-20240627-miqd.png)](./pictures/SCR-20240627-miqd.png)

###  Health Score

33

—

LowBetter than 72% of packages

Maintenance32

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 90% 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 ~11 days

Recently: every ~17 days

Total

8

Last Release

701d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/51f5bc45a8653e16229499476a51988197350c7648ec3b961c62c45cc92d8872?d=identicon)[ferdiunal](/maintainers/ferdiunal)

---

Top Contributors

[![ferdiunal](https://avatars.githubusercontent.com/u/5059851?v=4)](https://github.com/ferdiunal "ferdiunal (18 commits)")[![wamesro](https://avatars.githubusercontent.com/u/5340873?v=4)](https://github.com/wamesro "wamesro (2 commits)")

---

Tags

laravellaravel-novalaravel-nova-fieldspatie-laravel-medialibraryspatielaravelmedianovamedialibrarynova-media-field

###  Code Quality

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/ferdiunal-laravel-nova-media-field/health.svg)

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

###  Alternatives

[nasirkhan/laravel-starter

A CMS like modular Laravel starter project.

1.4k2.7k](/packages/nasirkhan-laravel-starter)[markwalet/nova-modal-response

A Laravel Nova asset for Modal responses on an action.

17930.8k](/packages/markwalet-nova-modal-response)[mostafaznv/nova-ckeditor

CkEditor for Laravel Nova

58397.1k1](/packages/mostafaznv-nova-ckeditor)[mostafaznv/nova-video

Video Field for Laravel Nova

22487.2k2](/packages/mostafaznv-nova-video)[tomatophp/filament-media-manager

Manage your media files using spatie media library with easy to use GUI for FilamentPHP

14955.0k3](/packages/tomatophp-filament-media-manager)[slimani/filament-media-manager

A media manager plugin for Filament.

179.7k1](/packages/slimani-filament-media-manager)

PHPackages © 2026

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