Hi All,
Is there a way to overlay/interject the CreateAssetServlet and make sure the filename contains valid (allowed characters)? Or even the js calling the servlet to pass a desired filename?
I see here that there are valid characters that are allowed in classic ui. However when I upload using a space or other characters, the filename still has those (AEM 6.5.10 On premise)
I see http://experience-aem.blogspot.com/2020/08/aem-6550-modify-filename-on-upload-before-executing-dam-u... where a Filter is used but still looking to see if a simple interjection can be used instead of using a filter that seems to be doing much.
Another option I have is use a custom workflow (not impacting dam update wf) and add a process step to rename the file name that is suitable.
Solved! Go to Solution.
Views
Replies
Total Likes
Hi @Shubham_borole ,
If you want to rename the file name before uploading to DAM. FileUpload.js is the best way to go,
To achieve this, we would need to overlay the fileupload.js in : /libs/dam/gui/coral/components/commons/fileupload/clientlibs/fileupload/js/fileupload.js
In that file you will notice, there are multiple operations happening on the asset name before uploading.
Just create a function to replace certain chars and then call it within any such operations.
Filter is good way to proceed in your use case because if you want to rename the file before you save it is an efficient way to rename the asset file than renaming asset later.
if you do not have any other process such as assigning metadata or any other activities then you can consider implementing sling resource change listener.
@Anny0505 - I agree, hence I am trying to find a way where I could feed a desired filename so that even a filter invocation is not required. The filter will be called for every request. Although we will have proper checks but still it will be called and checked in all instances.
I was/am just a bit hesitant to touch javax.servlet.http.Part, it seems to be dealing with io for all request. Not seen it referred widely (any thoughts?)
Will try to weigh pro and cons. Thanks a lot.
Will hang on for more thoughts on this as well.
Hi @Shubham_borole ,
If you want to rename the file name before uploading to DAM. FileUpload.js is the best way to go,
To achieve this, we would need to overlay the fileupload.js in : /libs/dam/gui/coral/components/commons/fileupload/clientlibs/fileupload/js/fileupload.js
In that file you will notice, there are multiple operations happening on the asset name before uploading.
Just create a function to replace certain chars and then call it within any such operations.
Thanks @Anmol_Bhardwaj Is "/libs/cq/ui/widgets/source/widgets/UploadDialog.js" an equivalent for classic ui?
I tried making a simple text change on that file but the upload dialog does not seem to update based on that.
When search for the contents of UploadDialog.js I can see them under "http://localhost:4502/libs/cq/ui/widgets.js" however the manual changes are not reflected even if I make the change on the overlay file or the libs file directly.
Update: Looks like this is the one that is used - /libs/cq/ui/widgets/source/widgets/html5/UploadDialog.js, will overlay that to /apps/cq/ui/widgets/source/widgets/html5/UploadDialog.js and try
Thanks
Views
Likes
Replies