Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jupi007/dropzonejs-uploader-bundle

Ultra simple Symfony bundle to handle Dropzone.js request
https://github.com/jupi007/dropzonejs-uploader-bundle

bundle dropzone-js dropzonejs php symfony symfony-bundle

Last synced: 22 days ago
JSON representation

Ultra simple Symfony bundle to handle Dropzone.js request

Awesome Lists containing this project

README

        

Jupi DropzoneJS Uploader Bundle

An ultra simple Symfony bundle to handle [Dropzone.js](https://github.com/dropzone/dropzone) upload request.

Installation
============

Make sure Composer is installed globally, as explained in the
[installation chapter](https://getcomposer.org/doc/00-intro.md)
of the Composer documentation.

Applications that use Symfony Flex
----------------------------------

Open a command console, enter your project directory and execute:

```console
$ composer require "jupi/dropzonejs-uploader-bundle"
```

Applications that don't use Symfony Flex
----------------------------------------

### Step 1: Download the Bundle

Open a command console, enter your project directory and execute the
following command to download the latest stable version of this bundle:

```console
$ composer require "jupi/dropzonejs-uploader-bundle"
```

### Step 2: Enable the Bundle

Then, enable the bundle by adding it to the list of registered bundles
in the `config/bundles.php` file of your project:

```php
// config/bundles.php

return [
// ...
Jupi\DropzoneJsUploaderBundle\DropzoneJsUploaderBundle::class => ['all' => true],
];
```

Usage
=====

The way of working of this bundle is very simple. It provides a param converter which handle the current request and pass the uploaded file to the controller

If the request is chunked, a temp file is created inside the system temp folder (using `sys_get_temp_dir()`) and `null` is passed to the controller until the file is entirely uploaded.

I recommend to use [VichUploaderBundle](https://github.com/dustin10/VichUploaderBundle) to handle the database saving side.

```php
setFile($file);

$em->persist($entity);
$em->flush();
}

// Return a success resonse
// In case of an error, this bundle will correct the response format
// so Dropzone.JS will display the correct 500 error message
return new JsonResponse(['success' => true]);
}
}
```