Well i dont think that is possible. The workaround would be zip all files in a single zip file and then download it.
checkout this link:
The problem here is client can make only 1 request at a time and logically for 1 request there should be 1 response. The header of the request can be sent only once and before every other body data of the response and once it is sent the client browser starts taking action acording to the header received for that request.
when you Flush() the response it sends your header and the data added to the output stream.
Plus i dont understand how will a client can request multiple files in a single click? there must be a link on his screen reads like "Download All" or something similar. And if anyhow you are able to allow multiple file download how will a client manage when he will continously get 20-25 files to download/save/open on after one?
so the best answer is comppress all files in a zip and send the compressed zip to clinet.