srmklive/flysystem-dropbox-v2
Dropbox V2 adapter for Flysystem, enabling Laravel/PHP apps to store, read, and manage files in Dropbox via the Flysystem filesystem API. Supports common operations like upload/download, listing, deletion, and metadata handling.
Storage::disk()). This is ideal for applications requiring cloud storage with Dropbox, particularly those already leveraging Flysystem (e.g., for file uploads, backups, or media storage).filesystem facade and Storage class natively support Flysystem adapters, reducing boilerplate for configuration and usage. The package aligns with Laravel’s dependency injection and service container patterns.config/filesystems.php), allowing for multi-disk setups (e.g., local + Dropbox) and environment-specific overrides.dropbox/dropbox-sdk or custom HTTP clients. This may require additional setup for token management (e.g., storing refresh tokens securely)..env, database, or Laravel’s cache)?dropbox/dropbox-sdk) or a more actively maintained Flysystem adapter (e.g., league/flysystem-dropbox) be preferable?Storage facade (e.g., Storage::disk('dropbox')->put()).composer require srmklive/flysystem-dropbox-v2
config/filesystems.php:
'disks' => [
'dropbox' => [
'driver' => 'dropbox-v2',
'client_id' => env('DROPBOX_CLIENT_ID'),
'client_secret' => env('DROPBOX_CLIENT_SECRET'),
'token' => env('DROPBOX_ACCESS_TOKEN'),
'root' => env('DROPBOX_ROOT_PATH', '/'),
],
],
dropbox/dropbox-sdk for OAuth flow or implement a custom route to exchange code for access_token.encryption or database).use Illuminate\Support\Facades\Storage;
Storage::disk('dropbox')->put('file.txt', 'Content');
$contents = Storage::disk('dropbox')->get('file.txt');
guzzlehttp/guzzle, league/flysystem).league/flysystem-dropbox) if issues arise.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Dropbox API downtime | File operations fail | Implement local fallback disk. |
| Expired OAuth token | Authentication failures | Use refresh tokens or manual renewal. |
| Rate limit exceeded | Slow/failed operations | Queue requests with retries. |
| Large file corruption | Data loss | Validate checksums post-upload. |
| Unmaintained package vulnerabilities | Security risks | Audit dependencies; fork if needed. |
How can I help you explore Laravel packages today?