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
Nova S3 Multipart Upload

Nova S3 Multipart Upload Laravel Package

ahmedkandel/nova-s3-multipart-upload

Laravel Nova field for uploading large files directly to Amazon S3 via multipart uploads. Chunked uploads improve reliability and performance for big assets, integrating cleanly into Nova resources and forms.

View on GitHub
Deep Wiki
Context7

A Laravel Nova resource tool to upload files directly to Amazon S3. You can (upload | download | delete) single, multiple, small or big files.

Frequently asked questions about Nova S3 Multipart Upload
Does ahmedkandel/nova-s3-multipart-upload support Laravel Nova 4?
Yes. Version 2.0.0 of the package adds Laravel Nova v4 support, delivered via PR #26 on the repository. If you are still running Nova v3, the v1.x line is the likely compatible release, but confirm the exact constraints in composer.json before installing. Always check the release notes and diff for a major version bump rather than assuming it is additive.
Is Laravel Nova required to use this package?
Yes. This is a Nova resource tool, so it renders inside Laravel Nova's admin panel and requires a valid Nova license. It will not work as a standalone Laravel field or in a custom admin interface. Teams not using Nova should look at a plain Laravel upload package instead.
How do I install the package with Composer?
Install it with composer require ahmedkandel/nova-s3-multipart-upload, then follow the README for any service provider registration or published assets. You will also need an S3 disk configured in config/filesystems.php with valid credentials. Pin the major version that matches your Nova release to avoid pulling an incompatible line.
How do I configure AWS credentials and the S3 bucket for the upload field?
Configure an S3 disk in config/filesystems.php and set the usual AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION and AWS_BUCKET values in your .env file. Then point the Nova field at that disk and bucket. Use a dedicated IAM user or role scoped to the target bucket rather than broad account credentials.
What IAM permissions does the multipart upload need?
At minimum the uploader needs s3:PutObject, s3:AbortMultipartUpload and s3:ListMultipartUploadParts on the bucket objects. Listing and browsing typically need s3:ListBucket, downloads need s3:GetObject, and deletes need s3:DeleteObject. Scope these to the specific bucket and prefix rather than granting wildcard S3 access.
Do I need to configure CORS on my S3 bucket for direct uploads?
If uploads go directly from the browser to S3, yes. The bucket CORS policy must allow the HTTP methods used by the upload, typically PUT, POST, GET and HEAD, from your Nova application's origin. For multipart uploads you also need to expose the ETag response header, otherwise the browser cannot read part ETags and the upload will fail.
Can it upload multiple large files in one go?
Yes. The package is described as handling single, multiple, small and big files, with multipart chunking used to improve reliability and performance for large assets. Chunked uploads mean a dropped connection does not necessarily force a full restart. Exact concurrency and chunk-size options should be checked in the README.
How do I upgrade from v1.x to v2.0.0 safely?
Treat v2.0.0 as a breaking change, since a major version bump for what reads as a feature addition usually means the Nova v3 code path was dropped. Review the diff between v1.x and v2.0.0 and the merged PR #26 before touching production. If you are still on Nova v3, stay pinned to v1.x or upgrade Nova as a separate, independently tested change.
Is the package actively maintained?
The evidence is thin: v2.0.0 appears to have shipped as a single pull request, PR #26, which suggests a small maintainer base. Check the repository's recent commits, open issues and release cadence over the last twelve months before committing to it in production. Also confirm whether the v1.x line still receives fixes if you depend on it.
How should I test S3 multipart uploads in a Laravel test suite?
Use Storage::fake for tests that only assert file existence and deletion, and keep a dedicated staging bucket for verifying real multipart behaviour. Browser-driven chunked uploads are difficult to simulate in unit tests, so cover the Nova field configuration and authorization separately. Avoid running integration tests against production buckets.
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.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo