Weave 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

Filament Chunk Upload Laravel Package

iperamuna/filament-chunk-upload

A Filament package for chunked file uploads that splits large files into smaller parts for more reliable transfers. It integrates with Filament form components and Laravel storage, making big uploads easier to handle in admin panels with upload progress.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit: iperamuna/filament-chunk-upload is a Filament form component that fills a specific gap: large-file uploads in Filament admin/forms where PHP upload_max_filesize or post_max_size would otherwise block file submission. It fits Laravel/Filament applications that need user-facing uploads for video, audio, archives, or other large assets, especially back-office workflows where Filament is already the UI layer. The package delegates upload protocol handling to rahulhaque/laravel-filepond, so architectural fit depends on accepting FilePond as the upload transport and its temporary-file lifecycle.

Integration feasibility: Feasible for teams already on Filament + Laravel. Installation requires Composer, publishing/migrating the FilePond dependency, and configuring filepond.server.url. Usage is a drop-in form component: ChunkedFileUpload::make('video_file')->chunkSize(...)->directory(...)->visibility(...). The main integration work is not the field itself but surrounding concerns: temporary storage, private-disk serving, authorization, cleanup, proxy/server limits, and test coverage for uploads larger than current limits.

Technical risk: This is a v1.0.0 package with a single listed contributor and a hard dependency on another package. Key risks include unspecified compatibility with Filament/Laravel/PHP version ranges, reliance on bypassing Filament BaseFileUpload validation behavior, and unclear guarantees around temporary-file cleanup and secure dehydration. The validation bypass is useful but should be treated as a fragile integration point during Filament upgrades. Private-disk downloads via streamDownload are directionally correct but require application-level authorization and path-safety review. Chunked uploads reduce PHP upload-limit issues but do not eliminate infrastructure constraints such as reverse-proxy body limits, storage quotas, or object-storage multipart behavior.

Key questions:

  • Which Filament, Laravel, PHP, and Livewire versions are supported and tested?
  • How are temporary chunks stored, named, authorized, and cleaned up on success, failure, cancellation, and timeout?
  • Does dehydration preserve or sanitize original filenames, and how does it behave across local, S3-compatible, and private disks?
  • Is the filepond.server.url configuration compatible with tenancy, subdirectory deployments, CSRF, and signed/authenticated upload routes?
  • What is the expected maximum file size and chunk size guidance, and are there tests for concurrent uploads and interrupted uploads?
  • Does the component support virus scanning, MIME/type validation, image processing, and Filament’s normal file preview/reorder/delete behaviors?

Integration Approach

Stack fit: Best suited to Laravel applications using Filament as an internal or customer-facing admin panel, with large media/document uploads and existing private-disk storage patterns. It is less attractive for teams not using Filament, or teams unwilling to adopt FilePond and its temporary upload model.

Migration path: Treat this as an incremental replacement for selected Filament FileUpload fields rather than a wholesale file-upload migration. Start with one low-risk form/resource, keep the native Filament upload as fallback, and compare behavior for validation, dehydration, deletion, and private downloads. If successful, expand to other large-file fields.

Compatibility: Confirm package constraints against the application’s Filament/Laravel/Livewire versions before adoption. Validate the rahulhaque/laravel-filepond migration and published config in staging. Check that the configured FilePond server URL works through the actual deployment topology, including load balancers, proxies, CSRF middleware, auth middleware, and storage disks.

Sequencing: First perform dependency and compatibility review; then configure FilePond server URL and storage disks in staging; next implement one ChunkedFileUpload field with explicit chunk size and visibility; then test uploads above PHP limits, form submission/dehydration, private download authorization, cancellation cleanup, and failure recovery. Roll out behind a feature flag or per-resource scope before broad adoption.

Operational Impact

Maintenance: Pin Composer versions and monitor both this package and rahulhaque/laravel-filepond. Because the package is v1.0.0 and single-maintainer, teams should be prepared to own patches or fork if Filament upgrades break the validation bypass or dehydration behavior. Include it in dependency-upgrade reviews, especially Filament major/minor upgrades.

Support: Expect community/README-level support with no commercial SLA. Internal documentation should cover configuration, storage layout, temp-file cleanup, private download routes, and rollback to native Filament uploads. Assign an owner for upload-related operational issues.

Scaling: Chunking reduces per-request memory and upload-limit pressure but increases request volume and temporary storage churn. Validate chunk size against server, proxy, and storage limits. For high-volume deployments, review object-storage compatibility, cleanup jobs, concurrency behavior, and bandwidth costs. Memory-safe private downloads are important, but large-file serving still needs authorization, throttling, and range-request consideration.

Failure modes: Watch for orphaned temporary chunks, failed dehydration after form submit, stale FilePond IDs, validation bypass regressions after Filament upgrades, misconfigured server URL/CSRF, unauthorized private-disk access, filename/path handling issues, proxy body-size limits, and storage quota exhaustion. Define runbooks for cleanup, retry, and support escalation.

Ramp-up: Laravel/Filament developers should ramp up quickly on the component API, but moderate effort is needed to understand FilePond’s temporary-file lifecycle and the package’s dehydration/validation behavior. Provide examples for private-disk streaming downloads, cleanup jobs, and supported file-size/chunk-size policies before enabling it for business-critical uploads.

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.
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast