hassan / laravel-s3-browser-based-uploads
Upload files to AWS S3 Directly from Browser
Installs: 13 407
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 0
Forks: 2
Open Issues: 0
Requires
- php: ^7.2.5
- aws/aws-sdk-php: ^3.0
- graham-campbell/manager: ^4.2
- illuminate/contracts: ^5.8|^6.0|^7.0
- illuminate/support: ^5.8|^6.0|^7.0
- league/flysystem-aws-s3-v3: ^1.0
Requires (Dev)
- graham-campbell/testbench: ^5.2
- mockery/mockery: ^1.2
- phpunit/phpunit: ^8.5
README
Upload files to AWS S3 Directly from Browser
Installation
- 1 Install the package via composer:
composer require hassan/laravel-s3-browser-based-uploads
- 2 Publish the config file of the package.
php artisan vendor:publish --provider="Hassan\S3BrowserBasedUploads\ServiceProvider" --tag=config
- 3 add your AWS settings
AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_DEFAULT_REGION= AWS_BUCKET=
Usage
use Hassan\S3BrowserBasedUploads\Facades\S3BrowserBasedUploads; S3BrowserBasedUploads::getEndpointUrl() S3BrowserBasedUploads::getFields() // with another connection S3BrowserBasedUploads::connection('another')->getFields();
Example
const formData = new FormData(); @foreach(S3BrowserBasedUploads::getFields() as $key => $value) formData.append('{{ $key }}', '{{ $value }}'); @endforeach formData.append('Content-Type', file.type); formData.append('file', file, file.name); const request = new XMLHttpRequest(); request.open('POST', "{{ S3BrowserBasedUploads::getEndpointUrl() }}"); request.send(formData);
Check out the demo with Filepond
Or Using Credentials Routes
// use Hassan\S3BrowserBasedUploads\S3BrowserBasedUploads;
public function boot()
{
S3BrowserBasedUploads::routes();
}
Security
If you discover any security related issues, please email hello@hassan-ali.me instead of using the issue tracker.