ozznest/uploadable
A Laravel package for attaching file uploads to Eloquent models. Handle validation, storage, and cleanup through a simple trait, keeping upload logic out of controllers and models.
This package informs one narrow, low-leverage build vs. buy decision: how to wire file uploads to persistence entities. It is plumbing, not product surface, so it should not shape roadmap or feature prioritization.
UploadableBundle, Doctrine-oriented). For a Laravel codebase it is not a candidate at all — Laravel ships Illuminate\Http\UploadedFile plus the Storage facade, and a 40-line trait covers the same ground. Half the "buy" evaluation collapses on this alone.Adoption criteria — this package should clear all of them:
Look elsewhere when:
VichUploaderBundle is the de facto Symfony standard with orders of magnitude more adoption; OneupUploaderBundle covers chunked/async needs. In Laravel, use the framework's filesystem plus a small internal trait.To executives (30 seconds): We evaluated a small open-source component for handling file uploads attached to database records. It solves a real but commodity problem, and it has essentially no adoption — zero stars, zero dependent projects. The cost of adopting it (audit time, upgrade risk, security review of file-handling code we didn't write) exceeds the cost of building the equivalent internally in one to two days. Recommendation: do not adopt. This is not a strategic dependency and carries no roadmap implications.
To engineering: It's a Symfony/Doctrine bundle, not Laravel — verify before anyone spends time on it. The functionality is a lifecycle hook that maps an uploaded file onto an entity property, which we can replicate as a thin trait or a small upload service in an afternoon. If we later standardize on Symfony, VichUploaderBundle is the defensible choice; it has the install base and maintenance history this one lacks. Adding an unmaintained third-party package directly into our upload path — a known attack surface for path traversal and malicious file writes — is a risk we'd have to underwrite ourselves, and there's no community to share that burden with.
Decision requested: Approve the ~1–2 day internal build (or VichUploaderBundle if Symfony) and close out evaluation of ozznest/uploadable.
How can I help you explore Laravel packages today?