kalynasolutions / laravel-tus
Laravel package for handling resumable file uploads with tus protocol and native Uppy.js support without additional tus servers
Fund package maintenance!
Buy Me A Coffee
Installs: 3 737
Dependents: 0
Suggesters: 0
Security: 0
Stars: 30
Watchers: 2
Forks: 5
Open Issues: 0
Requires
- php: ^8.2
- illuminate/contracts: ^10.0|^11.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- laravel/pint: ^1.15
- nunomaduro/collision: ^7.10|^8.1
- nunomaduro/larastan: ^2.9
- orchestra/testbench: ^8.22|^9.0
- pestphp/pest: ^2.34
- pestphp/pest-plugin-arch: ^2.7
- pestphp/pest-plugin-laravel: ^2.3
- phpstan/extension-installer: ^1.3
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-phpunit: ^1.3
README
Laravel Tus Package with native support of Uppy.js / Laravel Octane
Laravel package for handling resumable file uploads with tus protocol and native Uppy.js support without additional Tus servers.
Installation
You can install the package via composer:
composer require kalynasolutions/laravel-tus
You can publish the config file with (optional):
php artisan vendor:publish --tag="tus-config"
Pruning expired uploads
Don`t forget configure
upload_expiration
parameter in your config.
Without pruning, the tus uploads can accumulate storage very quickly. To mitigate this, you should schedule the tus:prune
Artisan command:
$schedule->command('tus:prune')->hourly()->runInBackground();
Usage with Uppy.js
You can use this package with other tus libraries, package fully implemented with Tus.io protocol RFC.
import Uppy, { debugLogger } from "@uppy/core"; import Tus from "@uppy/tus"; const TUS_ENDPOINT = "https://site.test/tus"; const TUS_LIMIT = 5; const TUS_CHUNK_SIZE = 20000000; const uppy = new Uppy({ logger: debugLogger }); uppy.use(Tus, { endpoint: TUS_ENDPOINT, limit: TUS_LIMIT, chunkSize: TUS_CHUNK_SIZE })
Tus Extensions
Extension | Supported |
---|---|
creation | ✅ |
creation-with-upload | ✅ |
expiration | ✅ |
checksum | ✅ |
termination | ✅ |
concatenation | ❌ (will be added on future) |
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.