Comments (2)
I tried on a project of mine and indeed the old file is not removed.
Sadly, I also failed to understand the reason, nor I can currently understand how your proposed listener can work. It's still calling the clean
method and so the check is still against the same types, right?
from vichuploaderbundle.
Sorry for the late answer.
Actually, the listener I propose does work because when I upload a new image, it will be stored as an UploadedFile
in the property $imageFile
of my entity Article
.
When executing handler->clean()
method, it will check if the current $object
(Article
in my case) has an UploadedFile
:
VichUploaderBundle/src/Handler/UploadHandler.php
Lines 108 to 113 in 18c6976
Here, $mapping->getFile($obj);
will read the property $imageFile
and thus will return true.
Then, when executing the remove
method, the script will read the value of $imageName
(not $imageFile
) because the remove
method take the field name to be removed as an argument:
VichUploaderBundle/src/Handler/UploadHandler.php
Lines 67 to 77 in 18c6976
And I call the clean
method like this in my custom listener: $this->handler->clean($event->getObject(), 'imageFile');
, so what will be removed is the "old" image.
Finally, the UploadedFile
will be converted into a File
instance, and $imageName
will now have the new file name.
from vichuploaderbundle.
Related Issues (20)
- UnitializedPropertyException when using nullable UploadableField as promoted property HOT 3
- Warning: file_exists(): open_basedir restriction in effect. Use relative paths?
- Support for Symfony 7 HOT 6
- Entity association not deleted when removing file HOT 3
- Deprecation notice in `CacheWarmer::warmUp()` with Symfony 6.4 HOT 1
- download_uri should use publicUrl when using FlysytemStorage HOT 1
- Removing a file from within the message queue handler HOT 7
- Namer is required in configuration from 2.2 to 2.3 HOT 2
- Problem during reading with flysystem HOT 2
- Invalid Schema error while installing the bundle on Symfony 7 HOT 1
- The option "required" does not exist ? HOT 3
- Installation instructions are outdated HOT 2
- Document how to get s3 URL HOT 2
- Issue with VichUploader: unsupported MIME type "image/jpeg" HOT 7
- Install dose not register in bundle.php HOT 1
- Problem with delete when using multiple mappings on one entity HOT 1
- Using pure Annotation Does not Upload the actual file. @Vich\UploadableField HOT 3
- File injection on load not working reliabely with lazy ghost objects
- How to use metadata with VichUploader HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vichuploaderbundle.