rahulhaque/laravel-filepond
Straightforward backend for Laravel apps using the FilePond upload library. It manages temporary storage, validation and cleanup, supports single/multiple, chunked and native S3 multipart uploads with resume, covers process, patch, head, revert and restore endpoints, and works with Spatie medialibra...
process/patch/head/revert/restore endpoint handling, S3 multipart, validation plumbing, soft-deleted file records, and a scheduled cleanup command. For a Laravel team, the buy decision is close to a no-brainer once FilePond is the chosen front-end widget.disk and temp_disk, plus per-call disk overrides on copyTo()/moveTo(), mean you can decide per feature whether media lands on local public, S3, or a region-specific bucket — useful when a customer or compliance requirement forces a storage change late.filepond:clear scheduled command and soft-delete-by-default file tracking meaningfully reduce the "who owns orphaned temp files and disk growth" operational burden. That is a recurring hidden cost in any homegrown implementation.laravel-medialibrary compatibility and support for the file-metadata plugin mean the choice doesn't foreclose a future move to a full media library — worth noting if a DAM or media-management initiative is on the horizon.Consider it when all of the following hold:
store() call is cheaper and has no third-party exposure.Look elsewhere when:
temp_disk disables Rule::filepond() validation, which removes much of the reason to use it.For executives: This is a small, free, MIT-licensed library that handles the tedious, error-prone parts of file uploading — large files, interrupted uploads, cloud storage, and cleanup of abandoned files — inside our existing Laravel stack. It converts a multi-week custom engineering effort into roughly a day of integration and gives us resumable uploads and S3 support we would otherwise defer. The trade-off is dependency on a single-maintainer open-source project with no support contract; because it is MIT, we retain the option to fork it internally at low cost. Recommendation: adopt with version pinning and a light internal-ownership plan, not as a strategic bet.
For engineering: It removes the staging-file lifecycle from your plate — process/patch/head/revert/restore endpoints, chunk reassembly with resume, S3 multipart, expiry-based cleanup via filepond:clear, and soft-deleted upload records. The developer surface is deliberately small: validate with Rule::filepond([...]), then Filepond::field($input)->moveTo($path, $disk) and get back structured file info. It versions in lockstep with Laravel majors (7 through 13), so upgrade path is clear. Ask: pin the major to your Laravel version, add filepond* to the debugbar except list, write integration tests around moveTo/copyTo and the ownership check, alert on temp-directory growth, and treat the temporary-storage disk as a hard dependency for validation to work. Assume we may own this fork eventually.
How can I help you explore Laravel packages today?