CakePHP3 plugin allowing to easily use the blueimp jQuery-File-Upload
- A helper allows to create an upload button with a progess bar
- A component manage the uploads requests (may be in multiple chunks)
- Each upload is stored into a datatable with the file infos
- Once the upload is over, do what you want in your application with the record and the uploaded file
You can easily install this plugin using composer as follows:
composer require alaxos/cakephp3-blueimp-uploadAfter adding the plugin remember to load it in your config/bootstrap.php file.
The Alaxos plugin must be loaded as well.
Plugin::load('Alaxos', ['bootstrap' => true]);
Plugin::load('CakephpBlueimpUpload');echo $this->BlueimpUpload->chunked('picture_upload', [
'upload_url' => Router::url(['controller' => 'Posts', 'action' => 'upload_picture', $post->id])
]);Check for options in the chunked() method.
public $components = ['CakephpBlueimpUpload.Uploader'];
public $helpers = ['CakephpBlueimpUpload.BlueimpUpload'];
public function upload_picture($id = null)
{
...
$upload = $this->Uploader->upload($upload_folder, ['accepted_mimetypes' => ['image/jpeg', 'image/tiff', 'image/png']]);
if($upload !== false)
{
if($upload->complete)
{
/*
* The upload is over.
* Do what you want with the $upload entity
*/
}
}
...
}