Generalmente cuando utilizo symfony para cargar imagenes lo hacia con las opciones del framework y en otros proyectos que utilizo VichUploaderBundle solo cargaba el archivo y lo solucionaba, sin embargo en este proyecto en especifico tengo la necesidad de editar el archivo que ya subi, lo cual no se hace con la configuración “normal” del Bundle.
Pero con unos pequeños en el archivo config.yml cambios todo funciona perfectamente.
La clave esta en agregar estas líneas:
//config.yml
delete_on_remove: true
delete_on_update: true
Un ejemplo completo sería asi:
vich_uploader:
db_driver: orm
mappings:
user_images:
delete_on_remove: true
delete_on_update: true
inject_on_load: true
uri_prefix: '%app.path.user_images%'
upload_destination: '%kernel.root_dir%/../web/uploads/images/users'
Si se necesita más lugares donde cargar archivos se agregan mappings con la misma lógica
Fuente:
http://mossco.co.uk/
https://symfony.com/doc/current/controller/upload_file.html
https://stackoverflow.com/questions/22484000/update-form-vich-uploader-cannot-delete-or-edit-file