PHPackages                             thibedev/laravel-dropzone-chunk - 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. thibedev/laravel-dropzone-chunk

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

thibedev/laravel-dropzone-chunk
===============================

Laravel 9 Service that make it easy to handle chunked upload (dropzone out of the box)

1.0.0(4y ago)321MITPHPPHP ^8.0.2

Since Mar 6Pushed 4y ago1 watchersCompare

[ Source](https://github.com/thibeDev/laravel-dropzone-chunk)[ Packagist](https://packagist.org/packages/thibedev/laravel-dropzone-chunk)[ Docs](https://github.com/thibeDev/laravel-dropzone-chunk)[ RSS](/packages/thibedev-laravel-dropzone-chunk/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

Laravel Dropzone Chunk Upload
=============================

[](#laravel-dropzone-chunk-upload)

Just a little Laravel package that help to handle requests from dropzone.js out of the box. It can be adapted for other front end libraries with few configuration options.

> This package works with Laravel 9 only.

Installation
------------

[](#installation)

**1. Install via composer**

```
composer require thibedev/laravel-dropzone-chunk

```

**2. Publish the config (Optional)**

```
php artisan vendor:publish --provider="ThibeDev\DropzoneChunk\Providers\DropzoneChunkServiceProvider"

```

Usage
-----

[](#usage)

After the installation, you can use the Facade provided : ChunkService If you use dropzone and local storage, you can use this library without any configuration. It is as simple as doing

```
$result = ChunkService::process($request);

```

Once all the chunks will be uploaded, $result will be an array containing the name and the path of the uploaded file.

You can provide 3 more arguments to ChunkService::process() method :

- The name of the request input file, default 'file'
- The path where you want to save the uploaded file, default '/temp'
- A boolean to keep the original file name, default false

```
$result = ChunkService::process($request, 'mySpecialInputName', '/public/media/', true);

```

If you want to use another frontend provider than dropzone, you can publish the config and change the request\_template key or you can use the environment variables. The uuid should be a unique id The chunkindex is the actual chunk index And the totalchunkcount is the total chunk Quite easy :)

```
'request_template' => [
        'uuid' => env('DROPZONE_CHUNK_UUID', 'dzuuid'),
        'chunkindex' => env('DROPZONE_CHUNK_UUID', 'dzchunkindex'),
        'totalchunkcount' => env('DROPZONE_CHUNK_TOTAL_CHUNKCOUNT', 'dztotalchunkcount'),
    ],

```

About the storage disk, I haven't tried it with s3 or ftp but it should work, let me know if it works for you !

By default, it will use the local storage, create a temp directory, save all the chunks with a .part extension and finally merge them all in the temp directory with the uuid as name and the original file extension. You can change the temp directory name, the chunk extension and the export disk using the config file or the env vars.

There is two exemples in the exemples directory of this repo.

I know this is not the best library and it might be improved a lot but it does the job and I didn't find any other one that works with Laravel 9...

###  Health Score

25

—

LowBetter than 35% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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

Unknown

Total

1

Last Release

1582d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/35538385?v=4)[Thibaut Gobert](/maintainers/thibedev)[@thibeDev](https://github.com/thibeDev)

---

Top Contributors

[![thibeDev](https://avatars.githubusercontent.com/u/35538385?v=4)](https://github.com/thibeDev "thibeDev (2 commits)")

---

Tags

laraveluploadchunkdropzone

### Embed Badge

![Health badge](/badges/thibedev-laravel-dropzone-chunk/health.svg)

```
[![Health](https://phpackages.com/badges/thibedev-laravel-dropzone-chunk/health.svg)](https://phpackages.com/packages/thibedev-laravel-dropzone-chunk)
```

###  Alternatives

[unisharp/laravel-filemanager

A file upload/editor intended for use with Laravel 5 to 10 and CKEditor / TinyMCE

2.2k3.5M85](/packages/unisharp-laravel-filemanager)[laravel/ai

The official AI SDK for Laravel.

1.0k3.2M201](/packages/laravel-ai)[moonshine/moonshine

Laravel administration panel

1.3k253.1k81](/packages/moonshine-moonshine)[erag/laravel-lang-sync-inertia

A powerful Laravel package for syncing and managing language translations across backend and Inertia.js (Vue/React/Svelte) frontends, offering effortless localization, auto-sync features, and smooth multi-language support for modern Laravel applications.

4925.3k](/packages/erag-laravel-lang-sync-inertia)[recca0120/upload

Ajax Upload Large File Support jQuery-File-Upload, FileApi, Plupload, For framework Laravel

806.7k](/packages/recca0120-upload)[jobtech/laravel-chunky

A laravel manager to handle chunked files upload

4411.3k](/packages/jobtech-laravel-chunky)

PHPackages © 2026

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