murph-doc/docs/utils/file_handler.md

39 lines
1.1 KiB
Markdown
Raw Normal View History

2022-05-07 13:47:17 +02:00
# File upload handler
`App\Core\Form\FileUploadHandler` is a service and helps you to upload a file. See example below.
2023-02-09 21:50:06 +01:00
```php-inline
2022-05-07 13:47:17 +02:00
use App\Core\Form\FileUploadHandler;
use App\Entity\Foo;
use App\Form\FooType;
use Symfony\Component\HttpFoundation\Request;
public function upload(Request $request, FileUploadHandler $fileUpload)
{
$entity = new Foo();
$form = $this->createForm(FooType::class, $foo);
if ($request->isMethod('POST')) {
$form->handleRequest($request);
if ($form->isValid()) {
$fileDirectory = 'uploads/';
$keepOriginalFilename = false;
$fileUpload->handleForm(
$form->get('image')->getData(), // Symfony\Component\HttpFoundation\File\UploadedFile or null
$fileDirectory,
// optional
function ($filename) use ($entity, $fileDirectory) {
$entity->setImage($fileDirectory.$filename);
},
// optional
$keepOriginalFilename
);
// ...
}
}
}
```