Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Laravel Dropbox Driver

Laravel Dropbox Driver Laravel Package

benjamincrozat/laravel-dropbox-driver

Laravel Flysystem driver that lets you use Dropbox as a storage disk in Laravel. Configure via filesystem settings and use the standard Storage API to upload, download, list, and manage files on Dropbox like any other disk.

View on GitHub
Deep Wiki
Context7

A storage extension for Dropbox.

Frequently asked questions about Laravel Dropbox Driver
How do I configure the Dropbox driver in Laravel to use it like a local disk?
Add the Dropbox disk configuration to `config/filesystems.php` under the `disks` array, specifying your OAuth2 access token and app key. Use the `dropbox` driver key and reference it in your `.env` file or directly in the config. Example: `'dropbox' => ['driver' => 'dropbox', 'access_token' => env('DROPBOX_ACCESS_TOKEN')].`
Does this package support generating shareable Dropbox links for files?
Yes, you can generate shareable URLs directly using the Storage facade. For example, `Storage::disk('dropbox')->url('file.pdf', ['shared' => true])` will return a public Dropbox link. This leverages Dropbox’s native sharing capabilities without extra API calls.
What Laravel versions are officially supported by this package?
The package is designed for Laravel 8–10, but compatibility with Laravel 11 may require manual adjustments due to its last release in 2023. Check the Dropbox SDK version dependency (v2+) for Laravel-specific compatibility notes, as newer Laravel releases might introduce breaking changes.
Can I use this driver alongside S3 or local disks for hybrid storage?
Absolutely. Laravel’s filesystem abstraction allows you to define multiple disks (e.g., `dropbox`, `s3`, `local`) and even set fallbacks. For example, configure `'dropbox' => ['driver' => 'dropbox', 'fallback' => 'local']` to automatically fall back to local storage if Dropbox fails.
How do I handle large files exceeding Dropbox’s 150MB upload limit?
The package doesn’t natively support chunked uploads, so you’ll need to use Dropbox’s SDK directly for files over 150MB. Alternatively, switch to S3 for large files by conditionally selecting disks based on file size or using Laravel’s `disk()` method dynamically.
Is there built-in support for Dropbox team folders or webhooks?
The package primarily focuses on basic filesystem operations and shared links. For advanced features like team folder permissions or webhooks, you’ll need to use the underlying `dropbox/dropbox-sdk` directly or extend the package via Flysystem events or custom logic.
How do I refresh OAuth2 tokens if they expire during CI/CD pipelines?
The package relies on Laravel’s service provider to handle OAuth2, but token refreshes must be managed manually. For CI/CD, use long-lived tokens or implement a token refresh workflow using Dropbox’s OAuth2 refresh token endpoint. Store tokens securely in environment variables or Laravel’s vault.
Are there performance benchmarks for read/write operations compared to S3?
No official benchmarks exist, but Dropbox’s API latency typically ranges from 100–300ms for standard operations, similar to S3. For critical performance needs, test with your specific workload (e.g., file sizes, concurrency) using Laravel’s `Storage` facade timing methods or tools like Blackfire.
Can I sync Dropbox files locally for development without downloading everything?
The package doesn’t include built-in sync functionality, but you can manually mirror specific folders using Dropbox’s API or third-party tools like `rclone`. For local development, consider using Laravel’s `local` disk as a fallback or implement a custom sync script triggered via Laravel events.
What alternatives exist if this package isn’t actively maintained?
Consider `spatie/laravel-dropbox` (if available) or the official `dropbox/dropbox-sdk` for direct API integration. For a more actively maintained solution, explore `league/flysystem-dropbox` combined with Laravel’s Flysystem adapter. Always evaluate the SDK’s compatibility with Dropbox API v3 changes.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
besmartand-pro/php-quality-config
sentix/ai-chatbot
codifyo/ts-generator-bundle
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor