dreamfactory/df-file
DreamFactory file service module for adding file and directory management to REST APIs. Provides upload, download, listing, metadata, and storage operations, helping Laravel/PHP applications expose secure file handling through DreamFactory.
df-file is the file-system connector layer inside DreamFactory's self-hosted API platform. It informs the decision of whether to expose S3, Azure Blob, local disk, FTP, or SFTP as governed REST endpoints via a platform rather than hand-rolling per-backend file APIs, signed-URL logic, and auth checks.df-file implies committing to a connector-per-source architecture (this is one module among many). It is a signal for platform teams deciding whether to standardize on DreamFactory's connector model versus bespoke integrations.Consider it when:
df-file is effectively the connector you get, not a separate adoption decision.Look elsewhere when:
To executives: This is not a standalone purchase — it is a component of the DreamFactory platform, which lets us expose file and object storage as governed APIs for internal apps and AI/LLM workloads without giving consumers direct storage credentials. The strategic case is buy-and-configure instead of build-and-maintain: centralized auth, audit, and multi-backend support out of the box, self-hosted under Apache-2.0 so data stays in our environment. The risk to flag is platform lock-in and a thin independent community around this specific module, so the recommendation is to evaluate DreamFactory as a platform, not this package in isolation.
To engineering: Treat df-file as DreamFactory's file-storage connector, not a general-purpose library. It buys us a consistent REST contract across S3/Azure/local/FTP with platform-level auth and governance, at the cost of coupling to DreamFactory core and its release cadence. Before committing, spike one real integration (e.g., document retrieval for an LLM pipeline), confirm the backend we need is supported at our version, and validate the upgrade and operations story. If we only need one backend, a direct SDK or Flysystem is the lower-risk path.
How can I help you explore Laravel packages today?