Laravel Chunk Upload
Introduction
Supports Laravel from 5.2 to 7 (covered by integration tests on all versions).
Easy to use service/library for chunked upload with supporting multiple JS libraries on top of Laravel's file upload with low memory footprint in mind.
Supports feature as cross domains requests, automatic clean schedule and easy usage.
Example repository with integration tests can be found in laravel-chunk-upload-example.
Before adding pull requests read CONTRIBUTION.md. Help me fix your bugs by debugging your issues using XDEBUG (and try to do a fix - it will help you become better).
Installation
1. Install via composer
composer require pion/laravel-chunk-upload
2. Publish the config (Optional)
php artisan vendor:publish --provider="Pion\Laravel\ChunkUpload\Providers\ChunkUploadServiceProvider"
Usage
Setup consists of 3 steps:
- Integrate your controller that will handle the file upload. How to
- Set a route for the controller. How to
- Choose your front-end provider below (we support multiple providers in single controller)
Library | Wiki | single & chunk upload | simultaneous uploads | In example project | Author |
---|---|---|---|---|---|
resumable.js | Wiki | ✔️ | ✔️ | ✔️ | @pionl |
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 last chunk as last, otherwise the merging will not work correctly.
Custom disk: At this moment I recommend using the basic storage setup (not linking public folder). It is not tested (Have free time to ensure it is working? PR the changes!).
For more detailed information (tips) use the Wiki or for working example continue to separate repository with example.
Changelog
Can be found in releases.
Contribution or extending
Read contribution before your PR (and use example repository to run integration tests).
See CONTRIBUTING.md for how to contribute changes. All contributions are welcome.
Compatibility
- 7.* (last tested on v7.16.1)
- 6.* (last tested on v6.18.20)
- 5.8.* (last tested on v5.8.38)
- 5.7.* (last tested on v5.7.29)
- 5.6.* (last tested on v5.6.40)
- 5.5.* (last tested on v5.5.49)
- 5.4.* (last tested on v5.4.36)
- 5.3.* (last tested on v5.3.31)
- 5.2.* (last tested on v5.2.45)
Copyright and License
laravel-chunk-upload was written by Martin Kluska and is released under the MIT License.
Copyright (c) 2016 and beyond Martin Kluska