Package Data | |
---|---|
Maintainer Username: | joecohens |
Package Create Date: | 2016-08-22 |
Package Last Update: | 2020-12-07 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-23 03:25:39 |
Package Statistics | |
---|---|
Total Downloads: | 6,106 |
Monthly Downloads: | 2 |
Daily Downloads: | 0 |
Total Stars: | 2 |
Total Watchers: | 6 |
Total Forks: | 0 |
Total Open Issues: | 1 |
A file uploader for Laravel with support for preprocessing images (resize and auto orientation) using League/Glide.
Note: For auto orientation you must have a PHP installation that supports reading exif.
Add to composer
"require": {
"shoperti/uploader": "~2.0"
},
Register the package in one of your providers
public function register()
{
$this->app->register(\Shoperti\Uploader\UploaderServiceProvider::class);
}
You can configure it through the .env file using these settings:
UPLOADER_FILES_DISK=s3
UPLOADER_FILES_SUBPATH=files
UPLOADER_FILES_FILE_NAMING=fix
UPLOADER_IMAGES_DISK=s3
UPLOADER_IMAGES_SUBPATH=images
UPLOADER_IMAGES_FILE_NAMING=fix
UPLOADER_IMAGES_RESIZE_MAX_WIDTH=1280
UPLOADER_IMAGES_RESIZE_MEMORY_LIMIT=128M
<?php
namespace App\Http\Controllers;
// Import the Shoperti Uploader Manager in your controller
use Shoperti\Uploader\Contracts\UploaderManager;
use Shoperti\Uploader\Exceptions\DisallowedFileException;
use Shoperti\Uploader\Exceptions\RemoteFileException;
// To upload or delete a file, just inject the manager either in the constructor
// or in the action method
class Controller extends BaseController
{
/**
* Uploads a file.
*
* @param \Shoperti\Uploader\Contracts\UploaderManager $uploaderManager
*/
public function upload(UploaderManager $uploaderManager)
{
try {
/** @var \Shoperti\Uploader\UploadResult uploadResult */
$uploadResult = $uploaderManager
// generate an Uploader through the manager
// using the uploaded file or the file URL as argument
->make(request()->file('file') ?: request()->input('file'))
// then call the upload() method with the location path as argument
->upload($path = 'my_files', $disk = null);
} catch (DisallowedFileException $dfe) {
// If the uploaded file has a disallowed mime-type
} catch (RemoteFileException $rfe) {
// If the file input was a file-url string which cannot be fetched
}
}
/**
* Deletes a file.
*
* @param \Shoperti\Uploader\Contracts\UploaderManager $uploaderManager
*/
public function delete(UploaderManager $uploaderManager)
{
$uploaderManager
->delete($disk = 's3', $filepath = \Request::input('file'))
}
}
UploadResult
implementation for more details.