champs-libres/async-uploader-bundle
Symfony bundle that handles asynchronous file uploads, letting you queue and process uploads in the background for smoother UX. Provides integration hooks and configurable storage/processing so uploads don’t block requests.
UploadCompleted) for processing (thumbnails, metadata).| Risk Area | Severity | Mitigation |
|---|---|---|
| Swift/S3 SDK Compatibility | Medium | Test with target cloud provider’s SDK version; use containerized environments. |
| Middleware Conflicts | Low | Profile routes to avoid overlap with existing middleware (e.g., CORS, auth). |
| Event Handling | Medium | Mock UploadCompleted events in tests; ensure async workers (e.g., queues) are robust. |
| Frontend Integration | High | Requires JS library (e.g., Uppy) for chunking; document client-side setup. |
| Temporary URL Expiry | High | Configure short-lived URLs (e.g., 5–15 mins) to balance security and UX. |
Cloud Provider Lock-in:
Scalability Requirements:
Security & Compliance:
Monitoring & Observability:
Fallback Mechanisms:
HandleUploads) with the bundle’s TempUrlMiddleware.UploadCompleted in a queue listener (e.g., UploadProcessor) for async tasks.FormRequest or Validator to sanitize uploads before generating temp URLs.Phase 1: Proof of Concept (1–2 weeks)
/api/uploads) with temp-URL generation.queue:listen.Phase 2: Core Integration (2–3 weeks)
Phase 3: Scaling & Optimization (1–2 weeks)
laravel/framework:^9.0).fileinfo (for MIME type detection) and openssl (for URL signing).openstack/php-opencloud (v2+).aws/aws-sdk-php (v3+).config/filesystems.php for cloud storage.composer require champs-libres/async-uploader-bundle.php artisan vendor:publish --tag=async-uploader-config.TempUrlMiddleware in app/Http/Kernel.php.UploadCompleted..env).temp_url_expiry in config.php artisan queue:work).Log facade to track upload events.How can I help you explore Laravel packages today?