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 Filepond

Laravel Filepond Laravel Package

rahulhaque/laravel-filepond

Laravel backend for FilePond uploads: manages temporary storage, validation and cleanup. Supports single/multiple uploads, chunked and resumable uploads, AWS S3 multipart, process/patch/head/revert/restore endpoints, metadata plugin, and Spatie Media Library integration.

View on GitHub
Deep Wiki
Context7

Use FilePond the Laravel way

Frequently asked questions about Laravel Filepond
How do I install rahulhaque/laravel-filepond in my Laravel project?
Run `composer require rahulhaque/laravel-filepond` and publish the package assets with `php artisan vendor:publish --provider="Rahulhaque\Filepond\FilepondServiceProvider"`. This will generate the migration for tracking uploads and configure the package. Ensure your Laravel version is 7.x–13.x for compatibility.
Does this package support chunked uploads for large files (e.g., videos over 1GB)?
Yes, the package supports chunked uploads with resume capability for both local and third-party storage like AWS S3. It handles multipart uploads natively for S3, making it ideal for large files. Ensure your storage driver is configured to support chunked transfers, especially for external storage.
Can I use this with FilePond plugins like file-metadata?
Absolutely. The package is fully compatible with FilePond plugins, including `file-metadata`. You can integrate metadata collection directly into your upload workflow. The backend will handle the temporary storage and validation while the plugin manages the frontend metadata collection.
How does validation work? Can I validate files before they’re permanently stored?
Validation happens at two levels: server-side validation for temporary files and controller-level validation before moving files to permanent storage. Use `Rule::filepond(['image', 'max:2000'])` for global validation or apply custom validation rules in your controller. This ensures files meet your requirements before they’re processed further.
Will this work with Spatie’s Media Library for managing uploaded files?
Yes, the package integrates seamlessly with Spatie’s Media Library. After validating and moving files to permanent storage, you can use Media Library’s features like collections, conversions, and metadata. The package’s temporary storage and cleanup processes remain independent, ensuring a clean workflow.
What Laravel versions are supported, and how do I upgrade between versions?
The package supports Laravel 7.x through 13.x. Upgrading between versions typically involves running the migration publisher again (`php artisan vendor:publish --tag=migrations`) and checking the changelog for breaking changes. For major version upgrades (e.g., v1.x to v2.x), follow the upgrade instructions in the README, which may include deleting old migrations.
How do I handle temporary file cleanup? Does it run automatically?
The package includes an Artisan command (`php artisan filepond:clear`) to clean up expired temporary files and directories. You can schedule this command in your Laravel task scheduler (e.g., `* * * * * php artisan filepond:clear --force`) to run periodically, ensuring your storage doesn’t bloat with old uploads.
Can I use AWS S3 or other cloud storage for temporary uploads instead of local storage?
Yes, you can configure the package to use third-party storage like AWS S3 for temporary uploads. However, note that local validation (e.g., file type checks) won’t work with external storage due to filesystem limitations. For security-sensitive apps, ensure you pair this with robust frontend validation or additional server-side checks.
Are there any security concerns I should be aware of when using this package?
The package handles CSRF protection automatically for FilePond’s `/process` endpoint. However, ensure your storage permissions are correctly configured, especially for local temporary files. For high-risk applications, consider adding rate-limiting or DDoS protection to the `/process` endpoint, as the package doesn’t include this out of the box.
How do I customize the filepond table schema to add fields like user_id?
The package publishes a migration for the `filepond` table, but the schema is fixed to avoid breaking changes. To add custom fields like `user_id`, you’ll need to create a new migration manually and extend the table. Ensure your custom fields don’t conflict with the package’s existing columns, and update your models or queries accordingly.
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.
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope
anil/file-picker
broqit/fields-ai