Download the PHP package mainul/chunk-uploader without Composer
On this page you can find all versions of the php package mainul/chunk-uploader. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mainul/chunk-uploader
More information about mainul/chunk-uploader
Files in mainul/chunk-uploader
Package chunk-uploader
Short Description Chunked file upload (local storage) for Laravel with server-side merge and optional demo JS.
License MIT
Informations about the package chunk-uploader
RemarkHB Chunk Uploader (Laravel Package)
Chunked upload to local storage (no S3). Designed for big files (e.g. 50MB+ videos) with:
- Chunk upload endpoint
- Server-side merge endpoint (streaming merge, low memory)
- Temp chunk cleanup
- Configurable chunk dir + final dir + max chunk size + optional middleware
Install (local dev)
- Put this package inside your project (or install via VCS later).
- Add to
composer.jsonrepositories if needed and runcomposer require remarkhb/chunk-uploader:*.
Publish config (optional)
Routes
This package registers:
- POST
/chunk-uploader/chunk - POST
/chunk-uploader/complete
You can override the route prefix in config.
Storage
Final file is stored to storage/app/public/<final_dir> by default (videos/).
Run once:
Demo JS
A demo chunk uploader is included in resources/js/chunk-uploader-demo.js.
Copy it into your app or publish resources as you wish.
Example client flow
1) Send chunks sequentially to /chunk-uploader/chunk
2) Call /chunk-uploader/complete to merge and get final public URL
Security notes
- Validate file types client-side and server-side.
- Consider auth middleware for routes.
- Consider rate limiting.
Config keys
See config/chunk-uploader.php.
Resume + Parallel Upload
This package includes an additional endpoint:
- GET
/{prefix}/status/{upload_id}?total_chunks=N
It returns which chunks have been received so the client can upload only missing chunks. The demo JS implements:
- resume (upload only missing chunks)
- parallel chunk upload with a concurrency limit (default 4)