PHPackages                             brainsum/media\_upload - 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. [File &amp; Storage](/categories/file-storage)
4. /
5. brainsum/media\_upload

ActiveDrupal-module[File &amp; Storage](/categories/file-storage)

brainsum/media\_upload
======================

Provides bulk upload for media entities.

4.4.0(2y ago)12.1k1[2 issues](https://github.com/brainsum/media_upload/issues)2GPL-2.0-or-laterPHPPHP &gt;=7.4

Since Dec 6Pushed 2y ago3 watchersCompare

[ Source](https://github.com/brainsum/media_upload)[ Packagist](https://packagist.org/packages/brainsum/media_upload)[ RSS](/packages/brainsum-media-upload/feed)WikiDiscussions 4.x Synced 1mo ago

READMEChangelog (2)Dependencies (2)Versions (13)Used By (2)

Media Upload
============

[](#media-upload)

INTRODUCTION
------------

[](#introduction)

This module adds third-party settings for each media type in your system. Go to /admin/structure/media/manage/{type} and use the 'Media upload configuration' to enable bulk-uploading and set the 'Upload target field' to a file or image type field from your type and save the type. The go to /media/bulk-upload or /media/bulk-upload/{type} where you can upload your files.

REQUIREMENTS
------------

[](#requirements)

This module requires the following modules:

- Drupal 9.0 or later
- Media module from Drupal Core
- DropzoneJS ()

Note, that DropzoneJS requires the Dropzone library. The easiest way to install it is to have project based on `drupal-composer/drupal-project` or `drupal/recommended-project`, and follow these steps:

- Set up asset-packagist:

```
    "repositories": {
        "drupal": {
            "type": "composer",
            "url": "https://packages.drupal.org/8"
        },
        "asset-packagist": {
            "type": "composer",
            "url": "https://asset-packagist.org"
        }
    }
```

- Add `"installer-types": ["bower-asset", "npm-asset"]` to the `extra` key
- Extend `installer-paths` under `extra` with

```
    "web/libraries/{$name}": [
        "type:drupal-library",
        "type:bower-asset",
        "type:npm-asset"
    ],
```

- Require a helper package and the dropzone package: `composer require oomphinc/composer-installers-extender:^1.1 npm-asset/dropzone:^5.7`

That's it! The project templates above are already set up for handling "drupal-library" typed packages. Otherwise, `composer/installers` can be used.

INSTALLATION
------------

[](#installation)

- Install as you would normally install a contributed Drupal module. Visit: for further information.

CONFIGURATION
-------------

[](#configuration)

- Configure user permissions in Administration » People » Permissions:

    - Dropzone upload files

        Media Upload uses DropzoneJS. This permission must match the permission "Upload media" of Media Upload, otherwise a user allowed to access Media Upload may not be able to actually use it.
    - Upload media

        Users in roles with the "Upload media" permission will see the button "Upload media in bulk" next to "Add media" under Administration » Content » Media.

NOTE:

- Max total size parameter defines the maximum total size for a complete bulk upload.
- Max single file size defines the maximum size of each file dropped into the file dropzone.

NOTE: This value only acts as an input filter, each uploaded file is actually compared to the max size value defined by the source field of the media type you chose.

TROUBLESHOOTING
---------------

[](#troubleshooting)

- Section waiting for its first problems to solve.

FAQ
---

[](#faq)

- Section waiting for its first questions to answer.

MAINTAINERS
-----------

[](#maintainers)

Current maintainers:

- Tanguy Reuliaux (treuliaux) -

This project has been sponsored by:

- KLEE INTERACTIVE KLEE INTERACTIVE creates the websites, collaborative tools and digital solutions that offer the most attractive web experience to your users. Our expertise includes usability, accessibility, communication, web and mobile marketing as well as editorial advice and graphic design. KLEE INTERACTIVE is a KLEE GROUP agency. Visit  for more information.

SPECIAL THANKS
--------------

[](#special-thanks)

- Shawn Duncan (FatherShawn) -
- Antonio Savorelli (antiorario) -

###  Health Score

30

—

LowBetter than 65% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity22

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor1

Top contributor holds 64.3% 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 ~172 days

Recently: every ~209 days

Total

9

Last Release

933d ago

Major Versions

3.0.0-alpha2 → 4.0.02020-07-06

PHP version history (2 changes)4.0.0PHP ^7.3

4.2.0PHP &gt;=7.4

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/15192295?v=4)[Máté Havelant](/maintainers/mhavelant)[@mhavelant](https://github.com/mhavelant)

![](https://avatars.githubusercontent.com/u/9446343?v=4)[szatom](/maintainers/szatom)[@szatom](https://github.com/szatom)

---

Top Contributors

[![mhavelant](https://avatars.githubusercontent.com/u/15192295?v=4)](https://github.com/mhavelant "mhavelant (9 commits)")[![szatom](https://avatars.githubusercontent.com/u/9446343?v=4)](https://github.com/szatom "szatom (4 commits)")[![dj1999](https://avatars.githubusercontent.com/u/16994729?v=4)](https://github.com/dj1999 "dj1999 (1 commits)")

### Embed Badge

![Health badge](/badges/brainsum-media-upload/health.svg)

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

###  Alternatives

[knplabs/gaufrette

PHP library that provides a filesystem abstraction layer

2.5k39.8M123](/packages/knplabs-gaufrette)[google/cloud-storage

Cloud Storage Client for PHP

34390.8M123](/packages/google-cloud-storage)[illuminate/filesystem

The Illuminate Filesystem package.

15261.6M2.6k](/packages/illuminate-filesystem)[superbalist/flysystem-google-storage

Flysystem adapter for Google Cloud Storage

26320.6M30](/packages/superbalist-flysystem-google-storage)[creocoder/yii2-flysystem

The flysystem extension for the Yii framework

2931.7M62](/packages/creocoder-yii2-flysystem)[flowjs/flow-php-server

PHP library for handling chunk uploads. Works with flow.js html5 file uploads.

2451.6M15](/packages/flowjs-flow-php-server)

PHPackages © 2026

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