Hello Pasupathi,
For Traditional Web, you can create an extra screen only for downloading purposes and call it multiple times. This screen won't be visible for your application.
For this example, I have an entity (called File) just to store the files. They are stored in the Database as Base 64, but they can be stored as Binary Data as well.
Basically, I created a screen where its Preparation ends up with a Download widget. This screen receives an Id, fetches the Database for that specific file, transforms it to Binary Data and goes directly to the Download:

Then I need to call this "hidden" Screen multiple times from another screen (my application screen). And I was able to do this using RunJavaScript action from HTTPRequestHandler extension.
So I have my application screen where I have a button that is going to loop my list of files and call that RunJavaScript action to open my "hidden" screen (passing my correct FileId) in order to execute multiple downloads. I'm using Window Open() JavaScript method.

"
window.open(""https://rbarradas.outsystemscloud.com/MultipleFileDownloadTraditional/DownloadScreen.aspx?FileId=" + GetFiles.List.Current.File.Id + """);
"
Please refer to attached OML file.
I hope that this example gives you some ideas :)
Kind regards,
Rui Barradas