pion/laravel-chunk-upload

Service for chunked upload with several js providers

Maintainers

Package info

github.com/pionl/laravel-chunk-upload

pkg:composer/pion/laravel-chunk-upload

Transparency log

Fund package maintenance!

pionl

revolut.me/martinpv7n

Statistics

Installs: 4 899 893

Dependents: 20

Suggesters: 1

Stars: 723

Open Issues: 27

v1.6.0 2026-07-05 21:37 UTC

README

Total Downloads Build Status Latest Stable Version License

Introduction

Laravel Chunk Upload simplifies chunked uploads with support for multiple JavaScript libraries atop Laravel's file upload system, designed with a minimal memory footprint. Features include cross-domain request support, automatic cleaning, and intuitive usage.

For example, a repository with integration tests, visit laravel-chunk-upload-example.

Before contributing, familiarize yourself with the guidelines outlined in CONTRIBUTION.md.

Installation

1. Install via Composer

composer require pion/laravel-chunk-upload

2. Publish the Configuration (recommended)

php artisan vendor:publish --provider="Pion\Laravel\ChunkUpload\Providers\ChunkUploadServiceProvider"

This will force our recommended default values (due to a cross-compatibility, the config can contain different values that the business logic).

Usage

The setup involves three steps:

  1. Integrate your controller to handle file uploads. Instructions
  2. Define a route for the controller. Instructions
  3. Select your preferred frontend provider (multiple providers are supported in a single controller).
Library Wiki Single & Chunk Upload Simultaneous Uploads Included in Example Project Author
resumable.js Wiki ✔️ ✔️ ✔️ @pionl
flow.js Wiki ✔️ ✔️ ✔️ @kcaj-burr
DropZone Wiki ✔️ ✔️ ✔️ @pionl
jQuery-File-Upload Wiki ✔️ ✖️ ✔️ @pionl
Plupload Wiki ✔️ ✖️ ✖️ @pionl
simple uploader ✖️ ✔️ ✖️ ✖️ @dyktek
ng-file-upload Wiki ✔️ ✖️ ✖️ @L3o-pold

Simultaneous Uploads: The library must send the last chunk as the final one to ensure correct merging.

Custom Disk: Currently, it's recommended to use the basic storage setup (not linking the public folder). If you have time to verify its functionality, please PR the changes!

For detailed information and tips, refer to the Wiki or explore a working example in a separate repository with example.

Changelog

View the changelog in releases.

Contribution or Extension

Review the contribution guidelines before submitting your PRs (and utilize the example repository for running integration tests).

Refer to CONTRIBUTING.md for contribution instructions. All contributions are welcome.

Compatibility

The table below shows which PHP Laravel and PHP version is tested (or was tested). If you see a version in the Supported column, it means a package version with the last support of the Laravel version.

Version PHP Supported Tested
13.* 8.3,8.4,8.5
12.* 8.2,8.3,8.4,8.5
11.* 8.2,8.3,8.4
10.* 8.2
9.* 8.2
8.* 7.4, 8.0, 8.1 v1.5.6 🟥
7.* 7.4 v1.5.6 🟥

New versions

If there is a new Laravel version and there is no an official release in our package, you can create a PR. Then anyone can use the PR until the official release is made. Check the PR and update composer.json with the repository.

"repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/{!ENTER_USER_NAME!}/laravel-chunk-upload"
    }
  ]

Here is explanation article

Copyright and License

laravel-chunk-upload was authored by Martin Kluska and is released under the MIT License.

Copyright (c) 2017 and beyond Martin Kluska and all contributors (Thank you ❤️)